Исходные данные:
Адрес Содержимое
000 200 135 (93)
000 201 252 (170)
Результат выполнения программы:
Адрес Содержимое
000 200 115 (77)
Результат выполнения программы правильный.
Программа 3.2. реализует сложение двоично-десятичных чисел, одно из которых содержится в аккумуляторе. Сложение двоично-десятичных чисел производится аналогично обычному сложению, но после команды ADD стоит дополнительно команда DAA — команда двоично-десятичной коррекции.
Таблица 5.
Адреса (L) |
Команды |
Мнемоника команд |
Комментарии |
000 |
041 |
LXI H |
;Загрузка начального адреса памяти: |
001 |
200 |
B2 |
;000 200 |
002 |
000 |
B3 |
|
003 |
176 |
MOV A,M |
;Перемещение из памяти в аккумулятор |
004 |
043 |
INX H |
; Формирование следующего адреса памяти |
005 |
206 |
ADD M |
;(A)+(M)->(A) |
006 |
047 |
DAA |
;Двоично-десятичная коррекция |
007 |
167 |
MOV M,A |
;Сохранение результата в памяти |
010 |
166 |
HLT |
;Останов |
Исходные данные:
Адрес Содержимое
000 200 044 (двоично-десятичное 24)
000 201 111 (двоично-десятичное 49)
Результат выполнения программы:
Адрес Содержимое
000 201 163 (двоично-десятичное число 73)
Результат выполнения программы правильный.
Программа 3.3. реализует вычитание двоично-десятичных чисел. Для вычитания двоично-десятичных чисел необходимо производить преобразование вычитаемого в дополнительный код, потому что в противном случае команда DAA, применяемая после вычитания чисел, приводит к некорректным результатам.
Таблица 6.
Адреса (L) |
Команды |
Мнемоника команд |
Комментарии |
000 |
041 |
LXI H |
;Загрузка начального адреса памяти: |
001 |
200 |
B2 |
;000 200 |
002 |
000 |
B3 |
|
003 |
076 |
MVI A |
;Перемещение двоично-десятичного числа 99 в аккумулятор: 231->A |
004 |
231 |
B2 |
|
005 |
226 |
SUB M |
;(A)-(M)->(A) |
006 |
074 |
INR A |
;Инкрементирование содержимого аккумулятора |
007 |
043 |
INX H |
; Формирование следующего адреса памяти |
010 |
206 |
ADD M |
;(A)+(M)->(A) |
011 |
047 |
DDA |
;Двоично-десятичная коррекция |
012 |
043 |
INX H |
; Формирование следующего адреса памяти |
013 |
167 |
MOV M, A |
;Перемещение из аккумулятора в память |
014 |
166 |
HLT |
;Останов |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.