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

Раздел 2 - регистры данных и аккумулятор.


РЕГИСТРЫ Z80
Регистры данных и аккумулятор

Микропроцессор Z80, в отличие от 18080, работает с двумя наборами
регистров —
основным и альтернативным. Оба набора состоят из семи
8-разрядных регистров данных и флагового регистра. Регистры основного
набора обозначаются буквами А,
В, С, D, Е, Н, L и F (флаговый). Регистры
альтернативного набора соответственно — А',
В', С D Е Н L' и F. Для
пользователя эти наборы совершенно идентичны, и знак' (апостроф) озна-
чает лишь то, что в данный момент регистр не является активным. С
помощью специальных команд можно переключать работу процессора с
одного набора регистров на другой. Но выяснить, какой из наборов активен
в данный момент, невозможно.

Для выполнения многих команд обрабатываемые данные должны
быть занесены в специальный регистр —
аккумулятор А-

Команды, обрабатывающие 16-разрядные числа, используют пары ре-
гистров
в следующих сочетаниях: ВС, DE, HL, AF и, соответственно, ВС', DE',
HL', AF'. При этом в регистры В, D, Н, А, В', D', Н А" записывается старший
байт числа, а в С, Е, L, F, С', Е L' и F' — младший. Спаренные регистры можно
использовать, например, для хранения и обработки адресов ячеек памяти.

Счетчик команд

Выполнив очередную команду, процессор должен знать, откуда ему
взять следующую. За этим следит 16-разрядный
регистр счетчика команд PC.
При последовательном выполнении программы после считывания из памяти
каждого байта команды значение PC увеличивается на единицу. Если коман-
да требует от процессора перейти не к следующей, а какой-либо другой
ячейке памяти (например, команда вызова подпрограммы), в PC записыва-
ется адрес этой ячейки.

__Индексные регистры

Важной особенностью Z80 является возможность обращаться к ячей-
кам памяти, указывая смещение их адреса относительно содержимого 16-
разрядных
индексных регистров IX и IY. Смещение может быть задано
числом в пределах -128...+ 127.

Указатель стека

16-разрядный регистр указателя стека SP содержит адрес вершины
с/лека. Как известно, стек — это специальная область памяти, предназначен-
ная для временного хранения данных. В Z80 он организован по принципу
LIFO1 — помещенные в стек одно за другим несколько чисел извлекаться из
стека будут в обратной последовательности. Особенностью Z80 является то,
что стек «растет» в сторону уменьшения адресов. При каждой записи в стек
значение регистра SP уменьшается на 2, а при извлечении числа увеличи-
вается на 2. «Общение» со стеком обычно происходит посредством регист-
ровых пар. В стеке также автоматически сохраняется адрес возврата при
вызове подпрограмм.

__Регистр флагоа

После выполнения ряда команд в соответствии с результатом опера-
ции изменяется содержимое
флагового регистра F (рис. 11). Флагом называется
отдельный бит этого регистра. Флаг считается уста-
......

новленным, если в соответствующем бите запи- | S | Z х|Н | х P/V 1N1С |

сана единица, и сброшенным, если записан ноль. 7*543 7 10
Значимыми являются 6 из 8 битов регистра F:

Рис. 11. Регистр флагов.

Z (zero) — флаг нуля. Устанавливается, если результат операции равен
нулю;

P/V (parity/overflow) флаг четяос/пи/лерелоляелия. В логических опе-
рациях устанавливается при получении четного результата, в ариф-
метических — при переполнении (изменении знака) операнда;

CY (carry) — флаг переноса. Устанавливается, если в итоге выполнения
арифметических операций произошел перенос либо заем старшего
бита;

N (negative) — флаг отрицательного результата. Устанавливается при
получении отрицательного результата арифметической операции;

Н (half-carry) — флаг вспомогательного переноса. Устанавливается, если про-
изошел перенос (заем) в 4-й бит аккумулятора. Используется при прове-
дении двоично-десятичной коррекции при работе с BCD-арифметикой*;

S (sing) — флаг вычитания. Устанавливается, если предыдущей коман-
дой было вычитание. В BCD-арифметике помогает определить тип
предыдущей операции.

Другие регистры

Регистр вектора прерываний I используется во 2-м режиме обработки
прерываний. Подробно о нем будет рассказано в разделе, посвященном
прерываниям.

Регистр регенерации динамической памяти R обслуживает в основном
аппаратные потребности компьютера, однако он все же может использовать-
ся и для программных целей, например, при написании процедур, генери-
рующих случайные числа. Младшие семь разрядов этого регистра увеличи-
ваются на единицу после выполнения очередной команды (точнее — очеред-
ного цикла) микропроцессора, старший разряд аппаратно не используется.

МИКРОПРОЦЕССОР Z80




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Обозрение - ВGЕ 3.01, Glоbаl Соmаndеr 1.31, Реrfеct Соmаndеr 1.7.
Байки #02 - Спасение 911: Записал LsD НUИТЕR со слов двyх кошек и одной собаки.
Mощь словa `Speссy` - Дa. может быть, именно здесь yместно, нaконец, объяснить тебе, почемy, собственно, все это тaк нaс волнyет и зaнимaет.
Для программистов - процедру вывода спрайта размером 2*2 знакоместа от Capry/Studio Stall.
DOS - "Вот DOS, который построил Майк!"

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