Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Команда вычитания SUB и вычитания с заемом SBB.

Режимы адресации данных | Команды общего назначения | Команды ввода-вывода | Индивидуальное задание. | Форматы арифметических данных. | Команда коррекции деления для представления в кодах ASCII (команда AAO ) | Логические команды OR, AND и XOR. | Команды сдвига | Индивидуальное задание. | Программа типа СОМ |


Читайте также:
  1. III. Команда Aperol Spritz угощает всех Aperol Spritz
  2. III. Команда Aperol Spritz угощает всех Aperol Spritz
  3. III. Команда AperolSpritz угощает всех AperolSpritz
  4. В случае не предоставления указанных документов или несоответствия их настоящему Положению, команда снимается с соревнований.
  5. Далее команда Aperol Spritz начинает обходить столики и предлагать продегустировать Aperol Spritz.
  6. Для тимчасового припинення стрільби подається команда “Стій”, а при стрільбі у русі – “Припинити вогонь”.
  7. Дополнительная команда посыла (одна) - 10

Команды SUB (substract - вычесть) и SBB (substract with borrow - вычесть с заемом) аналогичны соответственно командам сложения ADD и ADC, только при вычитании флаг переноса CF действует как признак заема. Команда SUB вычитает операнд-источник из операнда-приемника и возвращает результат в операнд-приемник, т.е.

 

приемник = приемник — источник

Команда SBB делает то же самое, но дополнительно вычитает значение флага переноса CF:

приемник = приемник - источник - перенос

Как и в случае сложения, команды вычитания выполняют две отдельные функ­ции. Первая команда SUB вычитает числа размером в байт или слово, а также младшие биты чисел повышенной точности. Другая команда SBB вычитает старшие биты чисел повышенной точности. Например, команда

SUB AХ,СХ

вычитает содержимое регистра СХ из содержимого регистра АХ и возвращает результат в регистр АХ.

Если размеры операндов превышают 16 битов, то пользуйтесь последователь­ностью команд вида

SUB AX,BX;Вычесть младшие 16 битов,

SBB BX,DX; а затем — старшие 16 битов

Здесь мы вычитаем 32-битовое число, помещенное в регистры СХ и DX, из 32-бито­вого числа, помещенного в регистры АХ и ВХ. При вычитании содержимого регист­ра DX из содержимого регистра ВХ команда SBB учитывает возможность заема при выполнении первого вычитания.

Можно вычитать из содержимого регистра содержимое ячейки памяти (и наоборот) или вычитать из содержимого регистра либо ячейки памяти непосредст­венное значение. Ниже приведены примеры допустимых команд:

SUB AХ,MEM_WORD; Вычесть из регистра содержимое ячейки памяти

SUB MEM_WORD[BX],AХ; или наоборот

SUB AL,10; Вычесть константу из регистра

SUB MEM_BYTE,OFH; или из ячейки памяти

Нельзя непосредственно вычесть значение одной ячейки из другой или использо­вать непосредственное значение как приемник.

Команды SUB и SBB могут воздействовать на шесть флагов следующим обра­зом:

Флаг переноса CF равен 1, если требуется заем; в противном случае он равен 0.

Флаг четности PF равен 1, если результат вычитания имеет четное число битов со значением 1; в противном случае он равен 0.

Вспомогательный флаг переноса AF равен 1, если результат вычитания десятич­ных чисел требует коррекции; в противном случае он равен 0.

Флаг нуля ZF равен 1, если результат равен 0; в противном случае он равен 0.

Флаг знака SF равен 1, если результат отрицателен (старший бит равен 1); в противном случае он равен 0.

Флаг переполнения OF равен 1, если при вычитании чисел, имеющих разные знаки, результат превышает диапазон значений приемника в обратном коде, а сам приемник изменяет знак; в противном случае флаг OF равен 0.

Флаги SF и OF имеют смысл только при вычитании чисел со знаком, а флаг AF – только при вычитании десятичных чисел.

 


Дата добавления: 2015-11-13; просмотров: 42 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Команда сложения ADD и команда сложения с добавлением переноса ADC.| Индивидуальное задание.

mybiblioteka.su - 2015-2024 год. (0.006 сек.)