Виды машинных циклов. Слово состояния процессора. Слово состояния МП КР580ВМ80А. Ввод-вывод в режиме прерывания. Алгоритм обслуживания прерываний, страница 24

Регистр команд РК служит для приема из памяти и хранения команды или первого байта команды, если последняя состоит из более чем одного байта. Так как прием осуществляется по шине данных, РК имеет разрядность, равную разрядности ШД. При приеме многобайтных команд МП проходит через фазу выборки несколько раз, и только потом расшифровывает ее и выполняет. РК как раз и предназначен для хранения кода операции до окончания процесса приема команды.

Регистры временного хранения данных W и Z обеспечивают хранение второго и третьего байтов трехбайтных команд до окончания выполнения текущей команды. Поскольку у МП КР580ВМ80А второй и третий байты таких команд это, как правило, адрес, содержимое этих регистров может быть непосредственно передано в регистр адреса. Программно регистры W и Z недоступны – то есть программист не может ни загрузить в них данные, ни взять из них содержимое.

Регистр признаков РП (регистр F). Выполнение какой-либо операции может ставиться в зависимость от значения результата выполнения предыдущей операции. При этом значение имеет не сам результат, а как бы "событие", которое произошло в результате выполнения этой операции. К таким "событиям", например, можно отнести отрицательный результат, нулевой результат, перенос в несуществующий старший разряд (переполнение разрядной сетки), заем из несуществующего старшего разряда и т.п. Все такие результаты фиксируются в регистре признаков установкой в лог. 1 отдельных триггеров (флажков. Иногда РП называют флаговым регистром). В каждом триггере хранится какой-то один признак. В МП разного типа используются разное число признаков. Признаки используются только при выполнении отдельных операций – команд условного перехода (в том числе условного возврата из подпрограммы). Эти команды ставятся в тех точках программы, где в зависимости от результата выполненной операции должен выбираться один из двух вариантов ее дальнейшего выполнения – то есть в точках ветвления программы (например, если результат выполненной операции нулевой, МПУС должна выполнять одни действия, если не нулевой – другие). Нужно отметить, что не все операции из списка команд МП воздействуют на РП (арифметические и логические операции, как правило, воздействуют).

Рассмотрим более подробно содержимое регистра признака микропроцессора Р580ВМ80А. Оно приведено на рис.3.2.

Разряд

7

6

5

4

3

2

1

0

Значение

S

Z

0

AC

0

P

1

C

Рис.3.2. Содержимое регистра признаков

Пять триггеров РП регистрируют следующие признаки результатов:

S – знак (Sign). Устанавливается в 1 при отрицательном результате выполненной операции (в остальных случаях – в 0);

Z – ноль (Zero). Устанавливается в 1 при нулевом результате выполненной операции;

AC – вспомогательный перенос (Auxiliary Carry). Устанавливается в 1, если в результате операции был перенос из младшей тетрады результата в старшую (из разряда D3 в разряд D4);

P – паритет (Parity). Устанавливается в 1, если полученное в результате выполнения операции двоичное число содержит четное число единиц;

С – перенос (Carry). Устанавливается в 1, если в результате выполненной операции был перенос из разряда D7 в несуществующий старший разряд (переполнение разрядной сетки).

Еще раз отметим, что проверка этих триггеров осуществляется автоматически с помощью некоторых команд МП. Дело программиста – предусмотреть команду проверки признаков (если от них должен зависеть дальнейший ход программы), или проигнорировать их (если ни один из признаков на дальнейший ход программы никак не влияет).

3.2.4. Регистры общего назначения