ВУЗ:
Составители:
56
Логические команды
предназначены для выполнения четырех логических действий над 8- и 16-
битовыми логическими структурами: получение инверсного кода, логи-
ческое произведение, логическая сумма, сумма по модулю два. Команды
AND, TEST, OR и XOR воздействуют на арифметические флаги сле-
дующим образом: флаги OF и CF всегда сбрасываются в нулевое состоя-
ние; состояния флагов SF, ZF, PF зависят от полученного результата и
определяются по тем же правилам, что и в командах арифметических опе-
раций; состояние флага AF не определено. Команда NOT не влияет на со-
стояние флагов.
Пример: not ax
Код Действие
F7D0
Значения 16 бит регистра ax меняются на противо-
положные.
До выполнения После выполнения
ax=5555 ax=AAAA
ip=100 ip=102
Мнемо-
ника
Действие
Байт
КОП
Постбайт
NOT
Инвертирование разрядов операнда в
памяти/регистре.
1111011w mod 010 r/m
Логическое умножение операнда из
памяти/регистра и операнда из регист-
ра.
001000dw mod reg r/m
Логическое умножение непосредствен-
ного операнда и операнда из памя-
ти/регистра.
1000000w mod 100 r/m
AND
Логическое умножение непосредствен-
ного операнда и операнда в аккумуля-
торе.
0010010w нет
Установка регистра FLAGS в соответ-
ствии с результатом логического ум-
ножения операнда из памяти/регистра и
операнда из регистра.
1000010w mod reg r/m
TEST
Установка регистра FLAGS в соответ-
ствии с результатом логического ум-
ножения непосредственного операнда и
операнда из памяти/регистра.
1111011w mod 000 r/m
56 Логические команды предназначены для выполнения четырех логических действий над 8- и 16- битовыми логическими структурами: получение инверсного кода, логи- ческое произведение, логическая сумма, сумма по модулю два. Команды AND, TEST, OR и XOR воздействуют на арифметические флаги сле- дующим образом: флаги OF и CF всегда сбрасываются в нулевое состоя- ние; состояния флагов SF, ZF, PF зависят от полученного результата и определяются по тем же правилам, что и в командах арифметических опе- раций; состояние флага AF не определено. Команда NOT не влияет на со- стояние флагов. Пример: not ax Код Действие Значения 16 бит регистра ax меняются на противо- F7D0 положные. До выполнения После выполнения ax=5555 ax=AAAA ip=100 ip=102 Мнемо- Байт Действие Постбайт ника КОП Инвертирование разрядов операнда в NOT 1111011w mod 010 r/m памяти/регистре. Логическое умножение операнда из памяти/регистра и операнда из регист- 001000dw mod reg r/m ра. Логическое умножение непосредствен- AND ного операнда и операнда из памя- 1000000w mod 100 r/m ти/регистра. Логическое умножение непосредствен- ного операнда и операнда в аккумуля- 0010010w нет торе. Установка регистра FLAGS в соответ- TEST ствии с результатом логического ум- 1000010w mod reg r/m ножения операнда из памяти/регистра и операнда из регистра. Установка регистра FLAGS в соответ- ствии с результатом логического ум- 1111011w mod 000 r/m ножения непосредственного операнда и операнда из памяти/регистра.
Страницы
- « первая
- ‹ предыдущая
- …
- 54
- 55
- 56
- 57
- 58
- …
- следующая ›
- последняя »