Выполним программу получения суммы двух чисел

 

 X=A+B, имеющих одинаковую длину. Листинг программы приведен в таблице 2.1.

A=      B=

Результат сложения заносится в область памяти, отведенную под второе слагаемое.

В области памяти записывается по адресам

8250 – 87 (младший байт первого слагаемого)

8251 – 35 (старший байт первого слагаемого)

8252 – 87 (младший байт второго слагаемого)

8253 – 02 (старший байт второго слагаемого)

 

Таблица 2.1 – Программа сложения массива однобайтных чисел

Адрес Код команды Метка Мнемоника Комментарий
8200 8201 8202 21 50 82 PRG 1: LXI H, X Загрузить в регистры младшие два разряда числа А
8203 8204 8205 11 52 80   LXI D, Y Загрузить в регистры младшие два разряда числа В
8206 AF   XRA A Очистить аккумулятор
8207 8208 OE 02   MVI C, 02 Загрузить счетчик числа байтов
8209 1A M1: LDAX D Загрузить в аккумулятор два разряда числа А
820А 8E   ADC M Прибавить к содержимому акумулятора два разряда числа В с учетом переноса
820В 27   DAA Преобразовать результат в десятичный код
820C 12   STAX D Передать результат в ячейку памяти, адресуемой регистровой парой DE
820D 13   INX D Указать на адрес следующих двух разрядов числа В
820E 23   INX H Указать на адрес следующих двух разрядов числа А
820F OD   DCR C Уменьшить содержимое счетчика числа байтов
8210 8211 8212 C2 09 82   INZ M1 Если не последний (старший) байт, то идти на МI
8213 E7   RST 7 Прервать выполнение программы

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: