назад

Инструкция вычитания

 Например: требуется найти разность чисел, хранящихся в регистрах AX и BX. Эта операция выполняется двухбайтной инструкцией [29h, D8h], которая имеет мнемокод SUB AX, BX. Занесите коды инструкции в ОЗУ, по адресам 100h и 101h:

 -e 100 <Enter>

0ABD:0100  01.29 <Enter>

-e 101 <Enter>

0ABD:0101  D8.D8 <Enter>

 Запишите в регистры следующие числа: AX = F, BX = B, IP = 100. Просмотрите регистры:

 -r

AX=000F  BX=000B  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000

DS=0ABD  ES=0ABD  SS=0ABD  CS=0ABD  IP=0100   NV UP EI PL NZ AC PO NC

0ABD:0100 29D8          SUB     AX,BX

Выполните трассировку инструкции. Результат операции смотрите в регистре AX.

Упражнение №2

 Используя инструкцию SUB, выполните следующие действия:

 1. 012F - 012E     3. F345 - 0045     5. 0BC1 - 0AC0

2. 0983 - 0873     4. FB32 - AD8C     6. 1000 - 0001

 Проверим, как CPU ведет себя с отрицательными числами. Для этого выполним вычитание 0 - 1, и посмотрим, получится ли FFFFh. Установите AX = 0, BX = 1 и выполните вычитание. Вероятно, вы получили то, что ожидали: AX = FFFFh.