ZX-Spectrum & TR-DOS для пользователей и программистов 1994 г.

Микропроцессор Z80 - система команд (продолжение).


Команды бинарных операций

Арифметические и логические операции над 8-разрядными операндами

В качестве приемника в этой группе команд всегда служит аккумуля-
тор, а символом s обозначены операнды — А, В, С, D, Е, Hf L, n, (HL), (IX+d),
(IY+d).

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

Дрифметичесш и логические действия над 16-разрядными операндами

Дрифметичесш и логические действия над 16-разрядными операндами

Команды унарных операций

В трех следующих командах преобразования производятся над чис-
лом, записанным в аккумулятор.

Преобразование числа в упакованный двоично-десятичный формат. Исполь-
зуется обычно после операций над двоично-десятичными числами*.

Преобразование числа в упакованный двоично-десятичный формат. Исполь-
зуется обычно после операций над двоично-десятичными числами*.

Пусть, например, нужно сложить два двоично-десятичных числа 15 и 39
(00010101 и 00111001 соответственно).

LD А,%00010101

LD Cf%00111001

ADD А,С ;А=%01001110

DAA ; А=%01010100

Согласно правилам двоичной арифметики в результате сложения в
аккумулятор будет помещено число #4Е, однако операция DAA скоррек-
тирует это значение, и конечный результат составит 54.

Преобразование числа в обратный код (все биты инвертируются).

Преобразование числа в обратный код (все биты инвертируются).

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

Команды сдвига

В следующих четырех командах операция сдвига осуществляется над
числом, записанным в аккумулятор.

В следующих семи командах операция сдвига осуществляется над
числом, записанным в одном из операндов — А, В, С, D, Е, Н, L, (HL), (IX+d),
(IY+d), обозначенных символом $.

Команды циклического переноса

Левый арифметический циклический перенос тетрады из аккумулятора в
ячейку памяти, адресуемую регистром HL. Старшая тетрада (биты 7 ...4) ячейки
памяти переносится в младшую тетраду аккумулятора (биты 3...0), младшая
тетрада аккумулятора переносится в младшую тетраду ячейки памяти, а
младшая тетрада ячейки памяти — в старшую тетраду ячейки памяти.

Левый арифметический циклический перенос тетрады из аккумулятора в
ячейку памяти, адресуемую регистром HL. Старшая тетрада (биты 7 ...4) ячейки
памяти переносится в младшую тетраду аккумулятора (биты 3...0), младшая
тетрада аккумулятора переносится в младшую тетраду ячейки памяти, а
младшая тетрада ячейки памяти — в старшую тетраду ячейки памяти.

Правый арифметическии циклическим перенос тетрады из аккумулятора
в ячейку памяти, адресуемую регистром HL. Старшая тетрада (биты 7...4)
ячейки памяти переносится в младшую (биты 3...0), младшая тетрада
ячейки памяти переносится в младшую тетраду аккумулятора, а младшая
тетрада аккумулятора — в старшую тетраду ячейки памяти.

Команды операций нал отдельными битами

Проверка состояния бита, номер которого задается числом b в пределах
от 0 (младший) до 7 (старший). Результат проверки помещается в бит Z
регистра флагов (если проверяемый бит равен нулю, то Z=l).

Команды управления процессором

Нет операции. Регистры и флаги не изменяются (за исключением реги-
стров PC и R), процессор переходит к выполнению следующей за NOP
команды.

Останов процессора. Выполнение команды HALT эквивалентно бесконечному
выполнению команды NOP, но без изменения значения регистра счетчика
команд PC. Выход из состояния останова происходит либо при аппаратном
сбросе процессора, либо с приходом сигнала маскируемого или немаскиру-
емого прерывания. После выполнения программы обработки прерывания,
управление будет передано на ячейку, следующую за командой HALT.

В ZX Spectrum команда HALT обычно используется для синхронизации
выполнения программы относительно полукадровых прерываний, про-
исходящих каждое 1/50 секунды.

Команды для работы с подпрограммами

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

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

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

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

Условный переход по относительному адресу при ненулевом счетчике.

Значение регистра В уменьшается на единицу. Если при этом В#0, то
осуществляется переход по адресу РС+е , в противном случае управление
передается следующей команде программы. Команда удобна для органи-
зации циклов, счетчиком повторения в которых служит регистр В.




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Bugs - О газете.
Обзор - О новых программах: CRIME SANTA CLAUS,MAGIC LINES,TRUBIS, MENTURA , THE MUNCHER EATS CHEWITS , THE LIGHT CORRIDOR.
Игры - TOWDIE.
AD&D - История Рагната, мага Язона и клерика Шата (часть третья).
Программирование - процедура определения наличия диска в дисководе.

В этот день...   19 апреля