Архитектура ЭВМ и систем. Коваль А.С - 56 стр.

UptoLike

Составители: 

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
      ножения непосредственного операнда и
      операнда из памяти/регистра.