Команды инкрементирования INC и декрементирования DEC
Инструкции сложения ADD и вычитания SUB
Команда ADD складывает оба операнда и записывает результат в о1, предыдущее значение которого теряется.
ADD о1 , о2
Команда вычитания — SUB:
SUB o l , о2
Теперь рассмотрим несколько примеров:
Пример1
Пример2
Команда INC добавляет, а DEC вычитает единицу из единственного операнда.
Формат команд таков:
Команда NEG, преобразовывает положительное целое число в отрицательное и наоборот. Инструкция NEG имеет только один операнд, который может быть регистром или адресом памяти. Размер операнда — любой: 8, 16 или 32 бита.
NEG (negation, отрицание):
Пример:
Команда CBW копирует седьмой (старший) бит регистра AL в регистр АН, расширяя таким образом оригинальное значение регистра AL в значение со знаком регистра АХ (значение АН становится равно 0x00 или OxFF = 11111111b, в зависимости от старшего бита AL).
Команда CWD копирует старший бит АХ в регистр DX, расширяя таким образом оригинальное значение АХ в пару регистров со знаком DХ:АХ.
Команда CDQ копирует старший бит ЕАХ в регистр EDX, расширяя таким образом оригинальное значение ЕАХ в пару регистров со знаком EDX:EAX.
Команда CWDE копирует старший бит АХ в верхнюю часть (старшую часть) ЕАХ, расширяя таким образом оригинальное значение АХ в двойное слово со знаком, которое будет помещено в регистр ЕАХ.
Команда MUL может быть записана в трех различных форматах — в зависимости от операнда:
В 8-разрядной форме операнд может быть любым 8-битным регистром или адресом памяти. Второй операнд всегда хранится в AL. Результат (произведение) будет записан в регистр АХ.
В 16-разрядной форме операнд может быть любым 16-битным регистром или адресом памяти. Второй операнд всегда хранится в АХ. Результат сохраняется в паре DX:AX.
В 32-разрядной форме второй операнд находится в регистре ЕАХ, а результат записывается в пару EDX:EAX.
Пример:умножить значения, сохраненные в регистрах ВН и CL, результат сохранить в регистр АХ:
Результат будет сохранен в регистре АХ.
Пример: вычислить 4862 результат сохранить в DX:AX: