Мікропроцесор Z-80
Z80 имеет альтернативный набор регистров для А,Р,Н,1ДС, D,E. Они обозначаются A’,F, и т.д. Существуют две специальные команды, которые позволяют обменивать основной и альтернативный набор регистров. После обмена для Z80 альтернативный набор становится основным, а основной - альтернативным.
Альтернативные наборы регистров часто используются для сохранения среда, когда запускается независимая задача.
Регистровые пары IX и IY используются для выполнения операции, которая включает индексацию. Это дает возможность работать со списком или таблицей. Начальный адрес списка или таблицы должен быть первоначально занесен в подходящую пару регистров IX иди IY. В программе монитора SPECTRUMa lY пара содержит адрес 23610 (5C3Ah), что является начальным адресом таблицы системных переменных. IX пара широко используется как указатель в программах обработки команд LOAD, SAVE, VERIFY, MERGE.
Указатель стека - это адресный регистр. Он используется для указания в памяти области машинного стека и всегда рассматривается как одинарный двухбайтовый регистр. Z80 использует стек, заполненный в памяти сверху вниз. Аналогией является магазин автомата - по принципу последний пришел, первым ушел. Указатель стека используется для указания различных размещений в области стека в каждом случае. Указатель стека всегда содержит адрес, куда последний раз была произведена запись. Поэтому управляющее устройство сначала уменьшает значение указателя стека, а затем помещает туда значение. Пересылка в стек двухбайтовая, и поэтому указатель стека должен быть дважды уменьшен при помещении в стек и дважды увеличен при выборке из стека. Машинный стек обычно используется как место сохранения адресов возврата, но можно использовать его как рабочую область.
Регистр 1 - регистр вектора прерываний, используется для размещения адресов устройств ввода-вывода. Однако BSPECTRUMe эта возможность не используется и 1- регистр используется для генерации TV - сигнала.Регистр R- регенерации памяти. Он является простым счетчиком, который увеличивается каждый раз при выполнении цикла регенерации. 3начение в регистре циклически изменяется от 0 до 255.
Арифметико-логическое устройство (АЛУ).
В АЛУ выполняются арифметические и логические операции. Возможно выполнение сложения и вычитания, а также АЛУ способно выполнять большое количество битовых операций и устанавливать флаги, чтобы показать результат.
СИСТЕМА КОМАНД МИКРОПРОЦЕССОРА Z-80.
Команды и данные.
Команды поделены на 18 групп, каждая из которых состоит из тех команд, которые сильно похожи друг на друга. Существует шесть классов данных, которые могут следовать за командой.
1.0днобайтовая константа (+DD).
Это число А в диапазоне 00-FFh,(0-65535d). Те команды, которые требуют за собой однобайтовую константу, имеют мнемоническую приставку +DD. Например: LD HL,+DDDD.
2. Двухбайтовая константа (+DDDD).
Это число А в диапазоне 0000-FFFFh (0-65535d).Те команды, которые требуют за собой двухбайтовую константу, имеют мнемоническую приставку +DDDD. Например: LD HL,+DEDD.
3. Двухбайтовый адрес (ADDV).
Это число А в диапазоне 0000-FFFFh (0-65535d),то есть число, которое используется как адрес памяти. Те команды, которые требуют за собой двухбайтовый адрес, имеют приставку ADDV, например: JP ADDV.