Скачиваний:
16
Добавлен:
11.04.2015
Размер:
15.86 Кб
Скачать
  1. Команды вычитания. Нет устройства вычитания. Вычитание выполняется сложением с числом в дополнительном коде. В процессоре нет устройства вычитания, а только сумматор, поэтому вычитание заменяется сложением с числом в дополнительном коде. Взятие дополнительного кода у вычитаемого выполняется в этих командах аппаратно:

DEC <ор>- вычитается 1 из содержимого операнда (ор).

Пример: dec сх ; вычитается 1 из регистра сх.

dec mem_byte ; вычитается 1 из ячейки памяти размером в байт dec mem_word ; вычитается 1 из ячейки памяти размером в слово

dec al ; вычитается 1 из регистра al

SUB <op1>, <ор2> ; op1 = op1- ор2 (substract - вычитание).

Из содержимого op1 вычитается содержимое ор2 и результат

записывается на место op1; op1 и ор2 не могут быть одновременно

ячейками памяти; op1 не может быть непосредственным значением.

Операнды должны иметь одинаковые форматы.

mov al, a[0]

sub a[1], al

SBB <op1>, <ор2> - ( substract with borrow - вычитание с заёмом ).

Команда выполняется точно так же, как и предыдущая, но при уменьшаемом меньшем, чем вычитаемое, когда делается заём единицы во флаге переноса, т. е. op 1 = opl - ор2 - cf.

Команда NEG. Команда образует дополнительный код числа. От нуля вычитает операнд. Команда полезна при вычитании регистра или ячейки памяти из непосредственного значения и записи результата в регистр.

Пример: вычесть значение регистра al из 100:

neg al

add al, 100

Соседние файлы в папке Ответы по пунктам