Микропроцессоры с изменяемой (наращиваемой) разрядностью слова и микропрограммным управлением (секционные микропроцессоры) на примере микропроцессора К1804, страница 9

При выполнении программы в автоматическом режиме она начинает обнулять ячейки памяти, начиная с 011, доходит до конца памяти и начинает обнулять ячейки, в которых записано начало программы. Обнулив ячейку 004 (в которой находится команда обнуления), она заменяет ее пустой командой NOP, и обнуление прекращается.

Программа 7: Проверка действий команд условных переходов

Таблица №7

Адрес

Команда

Мнемоника

Комментарии

000

061

LXI SP

Инициализация указателя стека

001

200

В2

002

000

В3

003

361

POP PSW

Извлечение из стека сл. сост. программы

004

*

*

Код одной из 8 –ми команд условных

005

000

В2

переходов .

006

000

В3

007

166

HLT

Останов

200

**

Байт ( состояние регистра признаков )

201

000

Байт ( содержимое аккумулятора)

Перед выполнением программы  в память по адресу 200 было записано число 002,что соответствует нулевому значению всех флагов, по адресу 004 – 302, что определяет код команды условного перехода по ненулевому результату. Поскольку это условие выполняется (флаг нулевого результата не установлен), то при пошаговом исполнении мы наблюдаем циклическое исполнение программы.

После этого в  ячейку по адресу 200 записали значение 102, что соответствует установке флага Z (бит нуля). После повторного выполнения программы вместо циклического повторения программа перешла в состояние ОСТАНОВ. Переход jnz не состоялся, поскольку флаг Z был установлен.