Исходные данные: (13226), (49234)
Адрес Содержимое
000 200 252
000 201 063
000 202 122
000 203 300
Результат выполнения программы: (62460)
Адрес Содержимое
000 204 363
000 205 374
Результат выполнения программы правильный.
Программа 3.5 реализует вычитание двух 16-разрядных двоичных чисел. При сложении нужно учитывать заем, поэтому используется команда ADC.
Таблица 8.
|
Адреса (L) |
Команды |
Мнемоника команд |
Комментарии |
|
000 |
041 |
LXI H |
;Загрузка начального адреса памяти: 000 200 |
|
001 |
200 |
B2 |
;Мл. байт адреса |
|
002 |
000 |
B3 |
;Ст. байт адреса |
|
003 |
106 |
MOV B, M |
;Считывание числа в регистр B |
|
004 |
043 |
INX H |
; Формирование следующего адреса памяти |
|
005 |
116 |
MOV C, M |
;Считывание числа в регистр С |
|
006 |
043 |
INX H |
; Формирование следующего адреса памяти |
|
007 |
126 |
MOV D, M |
;Считывание числа в регистр D |
|
010 |
043 |
INX H |
; Формирование следующего адреса памяти |
|
011 |
136 |
MOV E, M |
;Считывание числа в регистр E |
|
012 |
170 |
MOV A, B |
|
|
013 |
222 |
SUB D |
;(A)-(D)->(A) |
|
014 |
107 |
MOV B, A |
|
|
015 |
171 |
MOV A, C |
|
|
016 |
233 |
SUBB E |
;(A)-(E)-C->(A) |
|
017 |
043 |
INX H |
; Формирование следующего адреса памяти |
|
020 |
167 |
MOV M, A |
;Сохранение старшей тетрады в памяти |
|
021 |
043 |
INX H |
; Формирование следующего адреса памяти |
|
022 |
160 |
MOV M, B |
;Сохранение младшей тетрады в памяти |
|
023 |
166 |
HLT |
;Останов |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.