Микропроцессор Z-80. Структура. Система команд. 1969 г.

Раздел 14 - система команд Z80.


СИСТЕМА КОМАНД Z80

Оставшиеся два байта #DD и #FD префиксируют команды, работа-
ющие соответственно с индексными регистрами IX и IY.

Коды команд, использующих в качестве операндов индексные реги-
стры IX и IY, получаются добавлением префиксного байта к кодам команд,
оперирующих с регистровой парой HL (но не префиксированных байтом
#ED).

Коды команд, использующих индексный метод адресации, образуются
аналогично, только префиксируются команды, оперирующие с ячейкой
памяти, адресуемой (HL). При этом код смещения d (см. «Система команд
Z80»j всегда является третьим байтом получающегося кода.

Коды недокументированных команд, работающих с частями индекс-
ных регистров, образуются из префикса #DD или #FD и кода команды,
оперирующей с регистрами Н и L. Причем регистру Н соответствуют
старшие байты индексных регистров (IXh и IYh), а регистру L — младшие
(1X1 и IY1).

В табл. 6 приведены примеры построения кодов команд, использую-
щих индексные регистры. Слева приведена
исходная команда, которую
можно найти в таблице символов, справа — команда,
получаемая в результа-
те.

Таблица 8. Пример построения кодов команд Z80.

Исходная

команда

Получаемая команда

Мнемоника

Код

Мнемоника

Код

ADO HL.BC

#09

ADD IX.BC

#DD #09

JP (HL)

#E9

JP (IY)

#FD #E9

LD B,(HL)

#46

LD B,(IX+1)

#PD #46 #01

BIT 0,(HL)

#CB #46

BIT 0,(IY—1)

#FD #CB #FF #46

LD A,H

#7C

LD A,IXh

#DD #7C

LD H,L

#65

LD IXhJXi

#DD #65

LD L,1

#2E #01

LD IYI.1

#FD #2E #01

XOR H

#AC

XOR IXh

#DD #AC

1  Last In First Out — первым пришел — последним вышел (англ!).

2  Необходимо учитывать, что код смещения, содержащийся в коде команды
и записанный в тексте ассемблера, будет различным. Ассемблер отсчи-
тывает смещения относительно счетчика адресов $, хранящего адрес
команды, тогда как микропроцессор использует содержимое регистра PC,
увеличивающееся каждый раз при выборе очередного байта команды из
памяти.

3  В двоично-десятичных числах цифры от 0 до 9 кодируются четырьмя
битами, причем комбинации I010...1 II) не нгпольэуютгя. Таким обра-
юм в одном байте может бытн записано только две цифры. Это расточи-
тельно с точки зрения экономии памяти, но гарантирует отсутствие
ошибки «машинного- округления.

4  Более подробно о командах, обслуживающих прерывания, см. «Архитек-
тура ZX Spectrum».

5  Следует отметить, что при выполнении команды В запрещаются маски-
руемые прерывания на время между этой и следующей командами.

6  битами




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Интервью - Интервью взятое редакцией журнала у Cobra.
Почта - Тут письмо от Eмрlоyer/Alliance...
Каракули мозга - Минометы рассвета (точное ночное наблюдение).
События - Репортаж о CC'000 (Elf/CPU).
От редакции - Интерфейс.

В этот день...   21 ноября