Z380 [7_2]
ZXNet эхоконференция «zx.spectrum»
От Walerij Kozhevnikov (500:95/462. → Кому All 06.04.1998
=== cut ==
Как видим, набор регистров общего назначения (РОH) выглядит до-
вольно привычно. Разница с Z80 в том, что в каждом из двух набо-
ров - основном и альтернативном - имеется учетверенный комплект
аналогичных по назначению РОH, и регистры расширены до 32 бит.
РОH используются для хранения и обработки данных и для адресова-
ния памяти, причем ограничений на способы адресации у 380-го
значительно меньше. Обращения к РОH определяются в кодах команд,
плюс активный регистровый слот задается битами регистра управле-
ния SR. Обратите внимание: у половинок индексных регистров поя-
вилась официальная мнемоника - IXU, IYU для старшей половинки и
IXL, IYL для младшей.(Предложение в порядке бреда: может,учесть
появившийся стандарт и в новых ассемблерах для Z80, поддерживаю-
щих мнемоники наподобие "LD LX,E" ?). Hе трудно догадаться, что
суффикс "z" означает объединение регистровой линейки в 32-разря-
дный регистр, но только в описаниях,но не в мнемониках операций.
Регистр управления SR.
<------------ YSR ------------> │ <------------- XSR --------->
0 0 0 0 0 │IY bank│IYP│ 0 0 0 0 0 │IX bank│IXP
└───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
<--------- DSR --------------> │
Main IEF
0 0 0 0 0 │ Bank │Alt│ XM│ LW│ 1 │ IM │ 0 │LCK│AFP│
───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IYBANK - 2-битовое поле выбора банка IY-регистров. Содержит но-
мер (0...3) банка IY или IY'. После RESET сбрасывается в 0.
IYP - бит выбора основного или альтернативного блока регистров
IY. 0 - основной набор, 1 - альтернативный набор.
IXBANK, IXP - то же для IX.
MAINBANK - 2-битовое поле выбора блока регистров AF,HL,DE,BC и
A',F',HL',DE',BC'. Содержит номер банка регистров.
ALT - бит выбора основного или альтернативного набора HL,DE,BC.
0 - основной, 1 - альтернативный.
XM (Extended Mode) - бит установки режима работы процессора.
1 - расширенный режим, 0 - режим Z80. Обратного переключения в 0
нет (только RESET; даже POP не помогает).
LW (Long Word mode) - бит контроля режима "слово"/"длинное сло-
во". 1 - длинное слово, 0 - обычное (16-разрядное) слово. (Для
единичных инструкций можно установить индивидуальный режим дли-
ны слова, действующий только в пределах одной команды,с помощью
специальных команд). RESET сбрасывает в 0.
IEF1 - флаг разрешения маскируемых прерываний. 1 - прерывания
разрешены, 0 - прерывания запрещены. RESET сбрасывает в 0.
IM - 2-битовое поле выбора режима прерываний 0,1,2 или 3.
LCK (Lock) - бит блокировки обслуживания запросов обращения к
системной шине со стороны других устройств. 1 - внешние запросы
игнорируются, 0 - внешние запросы обслуживаются. RESET сбрасыва-
ет в 0.
AFP - бит выбора основного или альтернативного блока регистров
AF (AF или AF'). 0 - основной, 1 - альтернативный.
Регистр SR программно доступен как 32-разрядный SR, как 3 вось-
мибитных регистра YSR, XSR и DSR, а также может быть сохранен
через PUSH и загружен через POP.
(Продолжение следует).
Jason.
Powered by ScorpionZS256turbo+/SMUC/HDD'IDE130Mb/FDD'800/
/CMOS/Covox/ATkbd/Mouse/CDOS...
=== Cut ===