По адресу 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).
Ссылка на скачивание - внизу страницы.