Прежде чем приступить к изучению арифметических команд, рассмотрим такую форму представления чисел, как десятичные числа.
Десятичные числа – специальный вид представления числовой информации, в основу которого положен принцип кодирования каждой десятичной цифры числа группой разрядов из 4-х бит. При этом каждый байт числа содержит 1 или 2 десятичные цифры в так называемом двоично-десятичном коде (BCD – Binary Coded Decimal), Микропроцессор может хранить такие числа в2-х форматах:
- упакованный формат – в байте 2 десятичные цифры, при этом старшая цифра занимает старшие 4 бита, диапазон представления чисел в одном байте составляет 00-99;
- неупакованный формат - в байте 1 цифра в 4 младших битах. Старшие биты все имеют нулевое значение и называются зоной.
Описываются BCD-числа неупакованные, как DB, а упакованные как DT. Цифры неупакованного числа перечисляются через “,” а упакованного- как обычное десятичное число, например:
PER_1 DB 2,3,4,5,6,8,2 ;неупаков. 2865432
PER_2 DT 9875645 ; упаков. 9875645.
Как мы увидим из рассмотрения арифметических команд, описание BCD-чисел и алгоритм их обработки являются делом вкуса программиста.
Арифметические команды сведены в таблицу
| Мнемокод
| Формат
|
| Команды сложения
ADD
| ADD приемник, источник
|
| ADC
| ADC приемник, источник
|
| AAA
| AAA
|
| DAA
| DAA
|
| INC
| INC приемник
|
| Команды вычитания
SUB
| SUB приемник, источник
|
| SBB
| SBB приемник, источник
|
| AAS
| AAS
|
| DAS
| DAS
|
| DEC
| DEC приемник
|
| NEG
| NEG приемник
|
| CMP
| CMP приемник, источник
|
| Команды умножения
MUL
|
MUL источник
|
| IMUL
| IMUL источник
|
| AAM
| AAM
|
| Команды деления
DIV
|
DIV источник
|
| IDIV
| IDIV источник
|
| AAD
| AAD
|
| Команды расширения знака
CBW
|
CBW
|
| CWD
| CWD
|