Исследование однокристального микропроцессора с фиксированным списком команд, страница 9

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 – нет.