2.6. Программа 6: обращение к фрагменту программы, расположенному не с нулевого адреса, с использованием «клавиатурного» режима выполнения команд
Адрес |
Код команды |
Мнемоника команды |
Комментарии |
H = 100 L = 200 |
166 |
HLT |
останов |
Мы выполнили программу в JMP 200 100 «клавиатурном» режиме, в результате ее выполнения в счетчик команд был загружен адрес перехода 200 100. После переключения стенда в режим выполнения программы, записанной в памяти, убедились, что на световых индикаторах ШИНА АДРЕСА высвечивается адрес первой команды (100 200).
2.7. Программа 7: действие команд условного перехода
Перед выполнением программы в память по адресу L = 200 был записан код соответствующий нулевому значению всех флагов в регистре признаков (002), а по адресу L = 004 – код 302, идентифицирующий команду условного перехода по ненулевому результату JNZ.
Адрес |
Код команды |
Мнемоника команды |
Комментарии |
L = 000 001 002 |
061 200 000 |
LXI SP B2 B3 |
инициализация указателя стека |
003 |
361 |
POP PSW |
извлечение из стека Слова Состояния Программы |
004 005 006 |
* 000 000 |
* В2 В3 |
* - код команды условного перехода |
007 |
166 |
HLT |
останов |
200 |
** |
Слово Состояния Программы PSW, хранящееся в стеке |
|
201 |
000 |
Пример условного перехода: JC (jump carry) – код 332 – переход по единичному значению флага С. Если С = 1, программа зацикливается, если С = 0 – нет. JNC (jump not carry) – код 322 – переход по нулевому значению флага С. Если С = 0, программа зацикливается, если С = 1 – нет.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.