╔══════════════════════════════════════════════════════════════╗
║▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░ MPU Z380 ░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒║
╚══════════════════════════════════════════════════════════════╝
[ Продолжение. Предыдущие публикации - в номерах 15,14,12,11,10,
9,8,7 ]
(C) WLODEK BLACK
Группа команд переходов
Мнемоника Смысл Комментарий
Новые команды:
JR ee PC <- PC+ee+4 Относительный переход по двух-
байтовому смещению, отсчитыва-
емому от кода инструкции, следующей после JR
(+4 байта)
JR cc,ee То же - переход по условию C, NC, Z, NZ
JR eee PC <- PC+eee+5 Относительный переход по 3-бай-
товому смещению, отсчитываемому
от следующей инструкции (+5 байт)
JR cc,eee То же - переход по условию C, NC, Z, NZ
DJNZ ee B <- B-1;
Если B не равно 0, то PC <- PC+ee+4
Иначе - PC <- PC+4
Оператор цикла на регистре B
с относительным переходом по 2-байтовому смеще-
нию относительно следующей инструкции (+4 байт)
DJNZ eee B <- B-1;
Если B не равно 0, то PC <- PC+eee+5
Иначе PC <- PC+5
То же с переходом по 3-байтово-
му смещению
Группа команд обращения к подпрограммам
и возврата из подпрограмм
Новые команды:
CALR e (SP-1) <- PCh Переход на подпрограмму относи-
(SP-2) <- PCl тельно следующей команды по
SP <- SP-2 смещению e
PC <- PC+e+3
CALR cc,e То же по условию Z, NZ, C, NC, S, NS, NV, V,
PE, PO, P, M
CALR ee (SP-1) <- PCh Переход на подпрограмму относи-
(SP-2) <- PCl тельно следующей команды по
SP <- SP-2 2-байтовому смещению ee
PC <- PC+ee+4
CALR cc,ee То же по условиям, как для CALR cc,e
CALR eee (SP-1) <- PCh Переход на подпрограмму относи-
(SP-2) <- PCl тельно следующей команды по
SP <- SP-2 3-байтовому смещению eee
PC <- PC+eee+5
CALR cc,eee То же по условиям, как для CALR cc,e
В расширенном режиме процессора в стек заносится 4-байтовый
адрес возврата, соответственно стек растет на 4 значения.
При использовании "старых" команд RST в расширенном режиме
недостающие до 32 бит разряды дополняются нулями.
При использовании относительной адресации в нерасширенном режи-
ме процессора адрес вычисляется по модулю 65536; старшие 16 раз-
рядов = 0.
Во всех случаях e,ee,eee - старший разряд является знаковым.
P.S. Поправка:
В 15-м номере вкралась опечатка. Напечатано:
DIVUV [HL,]pp .
Нужно:
DIVUW [HL,]pp .
Приношу читателям свои извинения!
[ Продолжение следует ].