Система команд
Арифметические команды
Мнемоника | Формат | Комментарий |
---|---|---|
Команды сложения | ||
ADD | ADD приемник, источник | Сложить |
ADC | ADC приемник, источник | Сложить, добавить перенос |
ААА | ААА | Скорректировать сложение для таблицы ASCII |
DAA | DAA | Скорректировать сложение для двоично-десятичных чисел |
INC | INC приемник | Увеличить на единицу |
Команды вычитания | ||
SUB | SUB приемник, источник | Вычесть |
SBB | SBB приемник, источник | Вычесть с заемом |
AAS | AAS | Скорректировать вычитание для таблицы ASCII |
DAS | DAS | Скорректировать вычитание для двоично-десятичных чисел |
DEC | DEC приемник | Уменьшить на единицу |
NEG | NEG приемник | Обратить знак |
СМР | СМР приемник, источник | Сравнить |
Команды умножения | ||
MUL | MUL источник | Умножить без знака |
IMUL | IMUL источник | Умножить со знаком |
AАМ | ААМ | Скорректировать умножение для таблицы ASCII |
Команды деления | ||
DIV | DIV источник | Делить без знака |
IDIV | IDIV источник | Делить со знаком |
AAD | AAD | Скорректировать деление для таблицы ASCII |
Команды расширения знака | ||
CBW | CBW | Преобразовать байт в слово |
CWD | CWD | Преобразовать слово в двойное слово |
При использовании арифметических команд следует помнить о том, что МП может обрабатывать знаковые числа, числа без знака, а также двоично-десятичные числа. В беззнаковых числах для представления значения используются все биты. т.е. они эквивалентны типам Byte и Word, в то время как знаковые числа в старшем разряде хранят знак числа и эквивалентны типам Shortlnt и Integer.
Двоично-десятичные числа используют по 4 бита для каждого десятичного разряда и могут быть упакованными или неупакованными. В первом случае один байт хранит 2 десятичные цифры (старшая – в старшем полубайте), во втором – только одну (старший полубайт не используется). Основные арифметические команды МП (ADD, SUB, MUL, DIV) не учитывают двоично-десятичную форму представления чисел, поэтому в архитектуру МП включены команды коррекции результата.