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

Отличие между командами JMP addr и CALL addr в том, что для корректного выполнения команды CALL перед ее вызовом необходимо инициализировать стек, куда потом будет записан адрес следующей после CALL команды. Это позволяет осуществить возврат из подпрограммы.

2.9. Программа 9: действие команд RST N и RET при работе с прерывающими программами

Адрес

Код команды

Мнемоника команды

Комментарии

L = 000

001

002

061

067

000

LXI SP

B2

B3

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

003

317

RST 1

вызов подпрограммы по адресу L = 010

010

311

RET

безусловный возврат из подпрограммы

004

005

006

315

010

000

CALL

B2

B3

безусловный вызов подпрограммы

007

166

HLT

останов

020

311

RET

безусловный возврат из подпрограммы

Полное описание работы программы по машинным циклам:

Адрес

(состояние ША)

Содержимое памяти

(содержимое ШД)

000

061

001

067

002

000

003

317

066

000

065

004

010

311

065

004

066

000

004

315

005

020

006

000

066

000

065

007

020

311

065

007

066

000

007

166