Арифметические команды. Изучение и исследование арифметических команд микропроцессора КР580ВМ80А: команд сложения и вычитания, инкремента и декремента, десятичной коррекции аккумулятора, страница 2

INR M – инкремент (увеличение на 1) содержимого ячейки памяти (адрес ячейки–в регистровой паре HL);

INX RP – инкремент (увеличение на 1) содержимого регистровой пары ВС, DЕ, HL или указателя стека SP.

Содержимое регистров

Получено практически

Получено теоретически

E

F

Флаги S, Z, AC, P

Содержимое регистров

Получено практически

Получено теоретически

Ячейка памяти

F

Флаги S, Z, AC, P

Содержимое регистров

Получено практически

Получено теоретически

DE

F

1.5 Команды декремента:

DCR R – декремент (уменьшение на 1) содержимого регистра A, B, C, D, E, H, L;

DCR M – декремент (уменьшение на 1) содержимого ячейки памяти (адрес ячейки–в регистровой паре HL);

DCX RP – декремент (уменьшение на 1) содержимого регистровой пары ВС, DЕ, HL или указателя стека SP.

Содержимое регистров

Получено практически

Получено теоретически

C

F

Флаги S, Z, AC, P

Содержимое регистров

Получено практически

Получено теоретически

Ячейка памяти

F

Флаги S, Z, AC, P

Содержимое регистров

Получено практически

Получено теоретически

HL

F

1.6 Команда десятичной коррекции аккумулятора DAA.

В микропроцессоре КР580ВМ80А имеется возможность складывать десятичные числа, представленные в двоично-десятичном коде. Обычно для представления десятичного числа в микропроцессоре используется упакованный формат, в котором байт разбивается на две тетрады. Младшая тетрада определяет младшую десятичную цифру в двоично-десятичном коде, а старшая тетрада - старшую десятичную цифру в двоично-десятичном коде. Диапазон представления десятичных чисел в упакованном формате составляет от 0 до 99. Пример записи чисел в упакованном формате:

1001 0111 = 97

0010 1000 = 28

ст. цифра     мл. цифра

Десятичные  двоично-кодированные числа в упакованном формате можно складывать с применением команд сложения ADD, ADI, ADC, ACI. Однако после этого требуется проводить коррекцию результата, так как эти команды выполняет сложение по правилам двоичной арифметики.

Коррекция результата сложения выполняется с помощью команды DAA по следующим, правилам в 2 этапа:

- на 1-м этапе проводится коррекция младшей тетрада содержимого аккумулятора: при этом, если ее значение получилось более 9 ,или установлен флаг дополнительного переноса (АС)=1, то к содержимому аккумулятора добавляется число 6 (0110 в двоичной коде);

- на 2-м этапе проводится коррекция старшей тетради, при этом, если ее значение больше 9 или установлен флаг переноса (СY)=1, то к содержимому старшей тетрады аккумулятора добавляется число 6 (0110 в двоичном коде). 

Содержимое аккумулятора

Получено  практически

Получено теоретически

Без коррекции

С коррекцией

Без коррекции

С коррекцией

Вывод: в результате проделанной работы изучили арифметические команды микропроцессора КР580ВМ80А.