Рубрики
Справочник по ассемблеру

SUB

СинтаксисSUB приемник,источник
Машинный
код
2C ib — SUB AL,imm8
2D iw — SUB AX,imm16
2D id — SUB EAX,imm32
80 /5 ib — SUB r/m8,imm8
81 /5 iw — SUB r/m16,imm16
81 /5 id — SUB r/m32,imm32
83 /5 ib — SUB r/m16,imm8
83 /5 ib — SUB r/m32,imm8
28 /r — SUB r/m8,r8
29 /r — SUB r/m16,r16
29 /r — SUB r/m32,r32
2A /r — SUB r8,r/m8
2B /r — SUB r16,r/m16
2B /r — SUB r32,r/m32
ОписаниеВычитание.
ДействиеВычитание двух целочисленных двоичных операндов.
приёмник = приёмник — источник
ФлагиOF=r SF=r ZF=r AF=r PF=r CF=r

Команда SUB вычитает из первого операнда (приёмника) второй операнд. Результат вычитания переписывает значение операнда — приёмника.

Флаг SF имеет значение только для чисел со знаком. SF=1 указывает на отрицательный знак результата. Пример:

Если числа равноразмерные и без знака, то CF=1 будет указывать на некорректный результат (результат ушел в отрицательное значение). Например:

Для чисел со знаком и при вычитании меньшего по размеру числа от большего (пример, вычитание слова от двойного слова) CF=1 означает, что вычитание выполнилось с заёмом. Инструкция SBB продолжит вычитание с учетом флага CF:

Добавить комментарий