По адресу 200 было получено значение 170, которое свидетельствует о правильности проведенной операции.
· Сложение двоично-десятичных чисел.
Важной требованием проведения операций с числами в данном формате является отслеживание межтетрадных переносов, которое выполняется с помощью команды DAA.
Адреса |
Команды |
Мнемоника |
Комментарии |
000 |
041 |
LXI H |
Загрузка начального адреса памяти в указатель памяти |
001 |
200 |
B2 |
мл. байт адреса |
002 |
000 |
B3 |
ст. байт адреса |
003 |
076 |
MVI A |
Непосредственная загрузка A |
004 |
010 |
B2 |
Байт данных слагаемого |
005 |
206 |
ADD M |
Сложение содержимого A с содержимым M |
006 |
047 |
DAA |
Десятичная коррекция |
007 |
167 |
MOV M, A |
Запоминание суммы в ячейке памяти |
010 |
166 |
HLT |
Останов |
200+010 = 210
· Вычитание двоично-десятичных чисел.
Данная программа производит вычитание двоично-десятичных чисел, которые представлены как 2 тетрады в байте.
Адрес |
Команда |
Мнемоника |
Комментарий |
000 |
041 |
LXI H |
Загрузка пары HL |
001 |
200 |
B2 |
|
002 |
000 |
В3 |
|
003 |
066 |
MVI M |
Загрузка операнда 1 в регистр M |
004 |
066 |
B2 |
операнд 1 (=36 в 2/10 системе) |
005 |
076 |
MVI A |
Загрузка аккумулятора |
006 |
232 |
В2 |
число 100 в 2/10 системе (1001.1010) |
007 |
326 |
SUI B2 |
Вычитание операнда 2 из аккумулятора |
010 |
041 |
В2 |
операнд 2 (=21 в 2/10 системе) |
011 |
206 |
ADD M |
Добавление регистра M |
012 |
047 |
DAA |
Десятичная коррекция |
013 |
167 |
MOV M,A |
Загрузка результата в регистр М |
014 |
166 |
HLT |
Останов |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.