Ниже приведена таблица, в которой дано подробное описание программы 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 | Безусловный переход на начало программы |