№ команды | Мет ка | Операция | Операнды | Комментарий | Бай ты | Циклы | Так ты |
1 | PUSH | B | ;стек ¬( ВС ) | 1 | 3 | 11 | |
2 | PUSH | D | ;стек ¬( DE ) | 1 | 3 | 11 | |
3 | PUSH | H | ;стек ¬( HL ) | 1 | 3 | 11 | |
4 | PUSH | PSW | ;cтек ¬ PSW | 1 | 3 | 11 | |
5 | LXI | H,0715 H | ;HL ¬ 071516 | 3 | 3 | 10 | |
6 | MVI | B , 0A H | ;B ¬ 0A16 | 2 | 2 | 7 | |
7 | MVI | D , 00 H | ;D ¬ 0016 | 2 | 2 | 7 | |
8 | MOV | A , E | ; A ¬ ( E ) | 1 | 1 | 5 | |
9 | K2: | OUT | 1 | ;Устр.выв.№1¬(А) | 2 | 3 | 11 |
10 | K1: | IN | 2 | ; A¬(устр.вв. №2) | 2 | 3 | 11 |
11 | RRC | ; A ¬ Сдв.П ( А ) | 1 | 1 | 4 | ||
12 | JNC | K1 | ;Блок 2 УП | 3 | 3 | 10 | |
13 | IN | 1 | ; A¬(устр.вв. №1) | 2 | 3 | 11 | |
14 | MOV | M , A | ; M ¬ ( A ) | 1 | 2 | 7 | |
15 | INX | H | ;HL ¬ ( HL ) + 1 | 1 | 1 | 5 | |
16 | INR | E | ;E ¬ ( E ) + 1 | 1 | 1 | 5 | |
17 | MOV | A , E | ; A ¬ ( E ) | 1 | 1 | 5 | |
18 | CMP | B | ; ( A ) — ( B ) | 1 | 1 | 4 | |
19 | JNE | K2 | ;Блок 19 УП | 3 | 3 | 10 | |
20 | POP | PSW | ;PSW¬(стек) | 1 | 3 | 11 | |
21 | POP | H | ;HL ¬ (стек ) | 1 | 3 | 11 | |
22 | POP | D | ;DE ¬ (стек ) | 1 | 3 | 11 | |
23 | POP | B | ;BC ¬ (стек ) | 1 | 3 | 11 | |
24 | RET | ;Возврат из ППР | 1 | 3 | 11 |
Таблица 4
является символ Н, стоящий после числа. Номер устройства ввода и вывода (2 и 1), приведенные в графе “Операнды” команд 10 и 9, представлены в десятичной системе. Как известно, признаком десятичной системы может быть либо символ D, следующий за числом, либо отсутствие какого-либо символа. В данном случае использован второй из признаков. В комментарии использованы следующие сокращения:
Сдв.П(А)- сдвиг правый содержимого регистра А (аккумулятора);
УП - условный переход.
В соответствии с заданием программа должна быть размещена в области памяти, начиная с ячейки с адресом h=03B216. Размещение программы представлено в табл. 5.
Число ячеек ОП, отводимых под команду, определяется числом байтов в команде. В табл. 5 стрелками показана последовательность выполнения команд. В командах условного перехода, где последующее выполнение той или иной команды зависит от условия (признака), указаны пары стрелок, рядом с которыми приведены значения сигналов-условий.
№ команды | Адрес16 |
1 | 03B2 |
2 | 03B3 |
3 | 03B4 |
4 | 03B5 |
5 | 03B6 |
03B7 | |
03B8 | |
6 | 03B9 |
03BA | |
7 | 03BB |
03BC | |
8 | 03BD |
9 | 03BE |
03BF | |
10 | 03C0 |
03C1 | |
11 | 03C2 |
12 | 03C3 |
03C4 | |
03C5 | |
|
03C6 |