Ниже приведена таблица, в которой дано подробное описание программы 2 на языке Ассемблера в машинных кодах, а также мнемокод, описание и комментарий к каждой команде.
Таблица 3.
| Метки | Адрес | Данные | Мнемокод | Описание команды | Комментарий к команде |
| М1 | 0800 0801 | 26 00 | MVI H,01 | (H) (00) запись данных 00h в регистор Н
| |
| 0802 0803 | DB 01 | IN 01 | (A) (01) Ввод в порт по адресу 01h входных данных
| ||
| 0804 | 47 | MOV B,A | (B) (A) сохранение аккумулятора в регистре В
| ||
| 0805 0806 | 1Е 52 | MVI E,52 | (E) 52hзапись данных 52h в регистр E
| ||
| 0807 | A3 | ANA Е | (A) (A) (Е) логическое умножение аккумулятора и данных в регистре Е
| ||
| 0808 | 93 | SUB E | (A) (A) - (Е) Вычитание из аккумулятора содержимого регистра Е
| ||
| 0809 | 4F | MOV С,A | (C) (A) сохранение аккумулятора в регистре C
| ||
| 080A 080B | 3Е 00 | MVI A,00 | (A) 00hзапись данных 00h в аккумулятор
| ||
| 080C | В9 | CMP C | If (А) = (С) then | Сравнение содержимого регистраС с аккумулятором | |
| 080D 080E 080F | C2 15 08 | JNZ M2 | JMP if Z=0 | Переход при выполнении условия Z=0 | |
| 0810 0811 | 26 01 | MVI H,01 | (H) 01hзапись данных 01h в регистор Н
| ||
| 0812 0813 0814 | CA 45 08 | JZ M5 | JMP if Z=1 | Переход при выполнении условия Z=1 | |
| M2 | 0815 | 78 | MOV A,B | (A) (B) загрузка данных с регистра В в аккумулятор
| |
| 0816 0817 | 1Е 50 | MVI E,50 | (E) 00hзапись данных 50h в регистр E
| ||
| 0818 | A3 | ANA Е | (A) (A) (Е) логическое умножение аккумулятора и данных в регистре Е
| ||
| 0819 | 93 | SUB E | (A) (A) - (Е) Вычитание из аккумулятора содержимого регистра Е
| ||
| 081A | 4F | MOV С,A | (C) (A) сохранение аккумулятора в регистре C
| ||
| 081B 081C | 3Е 00 | MVI A,00 | (A) 00hзапись данных 00h в аккумулятор
| ||
| 081D | В9 | CMP C | If (А) = (С) then | Сравнение содержимого регистраС с аккумулятором | |
| 081E 081F 0820 | C2 26 08 | JNZ M3 | JMP if Z=0 | Переход при выполнении условия Z=0 | |
| 0821 0822 | 26 01 | MVI Н,01 | (Н) 01hзапись данных 01h в регистор Н
| ||
| 0823 0824 0825 | CA 45 08 | JZ M5 | JMP if Z=1 | Переход при выполнении условия Z=1 | |
| M3 | 0826 | 78 | MOV A,B | (A) (B) загрузка данных с регистра В в аккумулятор
| |
| 0827 0828 | 1Е 58 | MVI E,58 | (E) 58hзапись данных 58h в регистр E
| ||
| 0829 | A3 | ANA Е | (A) (A) (Е) логическое умножение аккумулятора и данных в регистре Е
| ||
| 082A | 93 | SUB E | (A) (A) - (Е) Вычитание из аккумулятора содержимого регистра Е
| ||
| 082B | 4F | MOV С,A | (C) (A) сохранение аккумулятора в регистре C
| ||
| 082C 082D | 3Е 00 | MVI A,00 | (A) 00hзапись данных 00h в аккумулятор
| ||
| 082E | В9 | CMP C | If (А) = (С) then | Сравнение содержимого регистраС с аккумулятором | |
| 082F 0830 0831 | C2 37 08 | JNZ M4 | JMP if Z=0 | Переход при выполнении условия Z=0 | |
| 0832 0833 | 26 01 | MVI Н,01 | (Н) 01hзапись данных 01h в регистор Н
| ||
| 0834 0835 0836 | CA 45 08 | JZ M5 | JMP if Z=1 | Переход при выполнении условия Z=1 | |
| M4 | 0837 | 78 | MOV A,B | (A) (B) загрузка данных с регистра В в аккумулятор
| |
| 0838 0839 | 1Е 40 | MVI E,40 | (E) 40hзапись данных 40h в регистр E
| ||
| 083A | A3 | ANA Е | (A) (A) (Е) логическое умножение аккумулятора и данных в регистре Е
| ||
| 083B | 93 | SUB E | (A) (A) - (Е) Вычитание из аккумулятора содержимого регистра Е
| ||
| 083C | 4F | MOV С,A | (C) (A) сохранение аккумулятора в регистре C
| ||
| 083D 083E | 3Е 00 | MVI A,00 | (A) 00hзапись данных 00h в аккумулятор
| ||
| 083F | В9 | CMP C | If (А) = (С) then | Сравнение содержимого регистраС с аккумулятором | |
| 0840 0841 0842 | C2 4E 08 | JNZ M5 | JMP if Z=0 | Переход при выполнении условия Z=0 | |
| 0843 0844 | 26 01 | MVI Н,01 | (Н) 01hзапись данных 01h в регистор Н
| ||
| M5 | 0845 | 78 | MOV A,B | (A) (B) загрузка данных с регистра В в аккумулятор
| |
| 0846 0847 | 1Е 13 | MVI E,13 | (E) 13hзапись данных 13h в регистр E
| ||
| 0848 | A3 | ANA Е | (A) (A) (Е) логическое умножение аккумулятора и данных в регистре Е
| ||
| 0849 | 93 | SUB E | (A) (A) - (Е) Вычитание из аккумулятора содержимого регистра Е
| ||
| 084A | 4F | MOV С,A | (C) (A) сохранение аккумулятора в регистре C
| ||
| 084B 084C | 3Е 00 | MVI A,00 | (A) 00hзапись данных 00h в аккумулятор
| ||
| 084D | В9 | CMP C | If (А) = (С) then | Сравнение содержимого регистраС с аккумулятором | |
| 084E 084F 0850 | C2 59 08 | JNZ M6 | JMP if Z=0 | Переход при выполнении условия Z=0 | |
| 0851 0852 | 3E 02 | MVI A,02 | (A) 02hзапись данных 02h в аккумулятор
| ||
| 0853 | В4 | ORA H | (A) (A) (H) логическое сложение аккумулятора и данных в H
| ||
| 0854 0855 | D3 80 | OUT 80 | (80) (A) Вывод в порт по адресу 80h выходных данных
| ||
| 0856 0857 0858 | C3 00 08 | JMP M1 | JMP | Безусловный переход на метку М1 | |
| M6 | 0859 | 78 | MOV A,B | (A) (B) загрузка данных с регистра В в аккумулятор
| |
| 085A 085B | 1Е 23 | MVI E,23 | (E) (23) запись данных 23h в регистр E
| ||
| 085C | A3 | ANA Е | (A) (A) (Е) логическое умножение аккумулятора и данных в регистре Е
| ||
| 085D | 93 | SUB E | (A) (A) - (Е) Вычитание из аккумулятора содержимого регистра Е
| ||
| 085E | 4F | MOV С,A | (C) (A) сохранение аккумулятора в регистре C
| ||
| 085F 0860 | 3Е 00 | MVI A,00 | (A) 00hзапись данных 00h в аккумулятор
| ||
| 0861 | В9 | CMP C | If (А) = (С) then | Сравнение содержимого регистраС с аккумулятором | |
| 0862 0863 0864 | C2 6D 08 | JNZ M7 | JMP if Z=0 | Переход при выполнении условия Z=0 | |
| 0865 0866 | 3E 02 | MVI A,02 | (A) 02hзапись данных 02h в аккумулятор
| ||
| 0867 | В4 | ORA H | (A) (A) (H) логическое сложение аккумулятора и данных в H
| ||
| 0868 0869 | D3 80 | OUT 80 | (80) (A) Вывод в порт по адресу 80h выходных данных
| ||
| 086A 086B 086C | C3 00 08 | JMP M1 | JMP if Z=1 | Безусловный переход на начало программы | |
| M7 | 086D | 7C | MOV A,H | (A) (H) загрузка данных с регистра H в аккумулятор
| |
| 086E 086F | D3 80 | OUT 80 | (80) (A) Вывод в порт по адресу 80h выходных данных
| ||
| 0870 0871 0872 | C3 00 08 | JMP M1 | JMP | Безусловный переход на начало программы |
Блок-схема 3



(00) запись данных 00h в регистор Н
(01) Ввод в порт по адресу 01h входных данных
(A) сохранение аккумулятора в регистре В
(Е) логическое умножение аккумулятора и данных в регистре Е
(A) сохранение аккумулятора в регистре C
00hзапись данных 00h в аккумулятор
00hзапись данных 50h в регистр E
(Е) логическое умножение аккумулятора и данных в регистре Е
58hзапись данных 58h в регистр E
(Е) логическое умножение аккумулятора и данных в регистре Е
(Е) логическое умножение аккумулятора и данных в регистре Е
(H) логическое сложение аккумулятора и данных в H
(Е) логическое умножение аккумулятора и данных в регистре Е
(A) - (Е) Вычитание из аккумулятора содержимого регистра Е
(A) сохранение аккумулятора в регистре C
00hзапись данных 00h в аккумулятор
(H) логическое сложение аккумулятора и данных в H
(H) загрузка данных с регистра H в аккумулятор






