Ниже приведена таблица, в которой дано подробное описание программы 3 на языке Ассемблера в машинных кодах, а также мнемокод, описание и комментарий к каждой команде.
Таблица 4.
| Метки | Адрес | Данные | Мнемокод | Описание команды | Комментарий к команде |
| М6 | 0800 0801 | DB 01 | IN 01 | (A) (01) Ввод в порт по адресу 01h входных данных
| |
| 0802 | 47 | MOV B,A | (B) (A) сохранение аккумулятора в регистре В
| ||
| 0803 | 0F | RRC | СДВИГ ВПРАВО | сдвиг аккумулятора вправо на один разряд | |
| 0804 0805 0806 | D2 23 08 | JNС M1 | JMP if С=0 | Переход при выполнении условия С=0 | |
| 0807 | 0F | RRC | СДВИГ ВПРАВО | сдвиг аккумулятора вправо на один разряд | |
| 0808 0809 080А | D2 28 08 | JNС M2 | JMP if С=0 | Переход при выполнении условия С=0 | |
| 080В | 0F | RRC | СДВИГ ВПРАВО | сдвиг аккумулятора вправо на один разряд | |
| 080С 080D 080E | D2 23 08 | JNС M1 | JMP if С=0 | Переход при выполнении условия С=0 | |
| 080F | 0F | RRC | СДВИГ ВПРАВО | сдвиг аккумулятора вправо на один разряд | |
| 0810 0811 0812 | DA 28 08 | JС M2 | JMP if С=1 | Переход при выполнении условия С=1 | |
| 0813 | 0F | RRC | СДВИГ ВПРАВО | сдвиг аккумулятора вправо на один разряд | |
| 0814 | 0F | RRC | СДВИГ ВПРАВО | сдвиг аккумулятора вправо на один разряд | |
| 0815 | 0F | RRC | СДВИГ ВПРАВО | сдвиг аккумулятора вправо на один разряд | |
| 0816 0817 0818 | DA 23 08 | JС M1 | JMP if С=1 | Переход при выполнении условия С=1 | |
| 0819 | 07 | RLC | СДВИГ ВЛЕВО | сдвиг аккумулятора влево на один разряд | |
| 081A | 07 | RLC | СДВИГ ВЛЕВО | сдвиг аккумулятора влево на один разряд | |
| 081B | 07 | RLC | СДВИГ ВЛЕВО | сдвиг аккумулятора влево на один разряд | |
| 081C 081D 081E | D2 28 08 | JNС M2 | JMP if С=0 | Переход при выполнении условия С=0 | |
| 081F | 0F | RRC | СДВИГ ВПРАВО | сдвиг аккумулятора вправо на один разряд | |
| 0820 0821 0822 | DA 28 08 | JС M2 | JMP if С=1 | Переход при выполнении условия С=1 | |
| М1 | 0823 0824 | 16 00 | MVI D,00h | (D) 00hзапись данных 00h в аккумулятор
| |
| 0825 0826 0827 | C3 2A 08 | JMP M3 | JMP | Безусловный переход на метку М3 | |
| М2 | 0828 0829 | 16 01 | MVI D,01h | (D) 01hзапись данных 10h в аккумулятор
| |
| M3 | 082A | 78 | MOV A,B | (A) (B) загрузка данных с регистра В в аккумулятор
| |
| 082B | 07 | RLC | СДВИГ ВЛЕВО | сдвиг аккумулятора влево на один разряд | |
| 082C | 07 | RLC | СДВИГ ВЛЕВО | сдвиг аккумулятора влево на один разряд | |
| 082D | 07 | RLC | СДВИГ ВЛЕВО | сдвиг аккумулятора влево на один разряд | |
| 082E | 07 | RLC | СДВИГ ВЛЕВО | сдвиг аккумулятора влево на один разряд | |
| 082F 0830 0831 | D2 57 08 | JNС M4 | JMP if С=0 | Переход при выполнении условия С=0 | |
| 0832 | 07 | RLC | СДВИГ ВЛЕВО | сдвиг аккумулятора влево на один разряд | |
| 0833 0834 0835 | DA 42 08 | JС M5 | JMP if С=1 | Переход при выполнении условия С=1 | |
| 0836 | 07 | RLC | СДВИГ ВЛЕВО | сдвиг аккумулятора влево на один разряд | |
| 0837 0838 0839 | D2 42 08 | JNС M5 | JMP if С=0 | Переход при выполнении условия С=0 | |
| 083A 083B | 3Е 02 | MVI A,02h | (A) 02hзапись данных 02h в аккумулятор
| ||
| 083C | B2 | ORA D | (A) (A) (D) логическое сложение аккумулятора и данных в D
| ||
| 083D 083E | D3 80 | OUT 80 | (80) (A) Вывод в порт по адресу 80h выходных данных
| ||
| 083F 0840 0841 | C3 00 08 | JMP M6 | JMP | Безусловный переход на начало программы | |
| M5 | 0842 | 78 | MOV A,B | (A) (B) загрузка данных с регистра В в аккумулятор
| |
| 0843 | 0F | RRC | СДВИГ ВПРАВО | сдвиг аккумулятора вправо на один разряд | |
| 0844 | 0F | RRC | СДВИГ ВПРАВО | сдвиг аккумулятора вправо на один разряд | |
| 0845 0846 0847 | D2 57 08 | JNС M4 | JMP if С=0 | Переход при выполнении условия С=0 | |
| 0848 | 0F | RRC | СДВИГ ВПРАВО | сдвиг аккумулятора вправо на один разряд | |
| 0849 | 0F | RRC | СДВИГ ВПРАВО | сдвиг аккумулятора вправо на один разряд | |
| 084A | 0F | RRC | СДВИГ ВПРАВО | сдвиг аккумулятора вправо на один разряд | |
| 084B | 0F | RRC | СДВИГ ВПРАВО | сдвиг аккумулятора вправо на один разряд | |
| 084C 084D 084E | DA 57 08 | JС M4 | JMP if С=1 | Переход при выполнении условия С=1 | |
| 084F 0850 | 3Е 02 | MVI A,02h | (A) 02hзапись данных 02h в аккумулятор
| ||
| 0851 | B2 | ORA D | (A) (A) (D) логическое сложение аккумулятора и данных в D
| ||
| 0852 0853 | D3 80 | OUT 80 | (80) (A) Вывод в порт по адресу 80h выходных данных
| ||
| 0854 0855 0856 | C3 00 08 | JMP M6 | JMP | Безусловный переход на начало программы | |
| М4 | 0857 0858 | 3Е 00 | MVI A,00h | (A) 00hзапись данных 00h в аккумулятор
| |
| 0859 | B2 | ORA D | (A) (A) (D) логическое сложение аккумулятора и данных в D
| ||
| 085A 085B | D3 80 | OUT 80 | (80) (A) Вывод в порт по адресу 80h выходных данных
| ||
| 085C 085D 085E | C3 00 08 | JMP M6 | JMP | Безусловный переход на начало программы |
(01) Ввод в порт по адресу 01h входных данных
(A) сохранение аккумулятора в регистре В
00hзапись данных 00h в аккумулятор
01hзапись данных 10h в аккумулятор
02hзапись данных 02h в аккумулятор
(D) логическое сложение аккумулятора и данных в D
(D) логическое сложение аккумулятора и данных в D
00hзапись данных 00h в аккумулятор
(D) логическое сложение аккумулятора и данных в D






