Команды SUB и SBB
Рубрика: Архитектура PC
(Команды CPU)
7499
Опубликовано: 08.05.2017
Команды SUB и SBB - это команды целочисленного вычитания. Команда SUB просто производит вычитание значение одного операнда из значения другого. Команда SBB производит вычитаение с заемом. То есть кроме простого вычитания одного значения из другого из него еще вычитается значение флага CF. Эта команда используется при арифметических операциях с большими числами, когда при вычитании из младшей части числа произошел заем бита (что отражается во флаге CF) и при вычитании из старшей части числа, этот заемный бит надо учесть.
Команда SUB
Синтаксис: | SUB op1,op2 |
Операнды: | op1 - r/m8, r/m16, r/m32 op2 - r/m8, r/m16, r/m32, i8, i16, i32 |
Назначение: | Целочисленное вычитание |
Процессор: | 8086+ |
Флаги: | Флаги OF, SF, ZF, AF, PF, CF устанавливаются в соответствии с результатом. |
Комментарий: | Команда SUB вычитает второй операнд из первого. |
Ограничения: | Операнды не могут одновременно быть ячейками памяти, один из операндов должен быть регистром. |
Примеры: |
sub ax,bx |
Команда SBB
Синтаксис: | SBB op1,op2 |
Операнды: | op1 - r/m8, r/m16, r/m32 op2 - r/m8, r/m16, r/m32, i8, i16, i32 |
Назначение: | Целочисленное вычитание с заемом |
Процессор: | 8086+ |
Флаги: | Флаги OF, SF, ZF, AF, PF, CF устанавливаются в соответствии с результатом. |
Комментарий: | Команда SUB вычитает из первого операнда второй операнд и флаг переноса CF. |
Ограничения: | Операнды не могут одновременно быть ячейками памяти, один из операндов должен быть регистром. |
Примеры: |
sub ax,bx sbb dx,cx |
Комментарии (0)