Регистры PC и RPC. Регистр ST0, формат и назначение битов. Поразрядные поля регистра состояния ST1, страница 2

OVM  (бит ST01) – флаг режима переполнения. Когда ACC принимает результат сложения или вычитания, и результат вызывает переполнение, OVM определяет, как CPU обрабатывает переполнение:

0 – нормальное переполнение результата в ACC. Состояние флагов OVC отражает переполнение.

1 – состояние флагов OVC не изменяется, а ACC заполняется максимально возможным положительным или отрицательным значением следующим образом:

- если ACC переполняется в положительном направлении (от 7FFF FFFF16 до 8000 000016), ACC заполняется значением 7FFF FFFF16.

- если ACC переполняется в отрицательном направлении (от 8000 000016 до 7FFF FFFF16), ACC заполняется значением 8000 000016.

Этот бит может быть индивидуально установлен и сброшен соответственно командами SETC OVM и CLRC OVM. После начального сброса OVM сброшен.

SXM  (бит ST00) – флаг режима расширения знака. На флаг SXM воздействуют команды MOV, ADD и SUB, которые используют 16-битные операции в 32-разрядном аккумуляторе. Когда 16-разрядное значение загружено (MOV), добавлено (ADD) или вычтено (SUB) из ACC, SXM определяет режим обработки значения со знаком, расширенным в течение операции следующим образом:

0 – расширение знака подавлено (значение будет обрабатываться как беззнаковое).

1 – расширение  знака  допускается  (значение  будет обрабатываться как знаковое).

Этот флаг может быть индивидуально установлен и очищен командой SETC SXM и командой CLRC SXM, соответственно. После начального сброса DSP флаг SXM сброшен.

33. Регистр ST1, формат и назначение битов.

Поразрядные поля регистра состояния ST1:

ARP (биты ST115-13) – 3-битный указатель текущего вспомогательного регистра XAR0..XAR7. После сброса DSP указатель ARP установлен в 000.

XF  (бит ST112) – флаг, отражающий текущее состояние вывода /XF_XPLLDIS.

M0M1MAP  (бит ST111) – флаг режима карты памяти. Он всегда равен 1 в объектном режиме C28x (это значение флаг имеет после начальной установки DSP). Когда необходимо использовать С27x-совместимый режим, этот флаг может быть установлен в 0.

Бит ST110 – резервный бит.

OBJMODE  (бит ST19) – флаг режима объектной совместимости (0 для C27x-режима и 1 для C28x-режима).

AMODE (бит ST18) – флаг режима адресации. Этот бит, в сочетании с битом PAGE0 используется для выбора соответствующего режима адресации:

AMODE=0 – в режиме прямой адресации DP дополняется 6-битным смещением, и некоторые режимы косвенной адресации не поддерживаются (C28x-режим);

AMODE=1 – в режиме прямой адресации DP дополняется 7-битным смещением, и поддерживаются все режимы косвенной адресации.

IDLESTAT (бит ST17) – флаг-индикатор выполненной инструкции IDLE.  Доступен только по чтению. Флаг может быть сброшен по факту обслуживания прерывания и после начального сброса ЦСП. После обслуживания прерывания значение бита IDLESTAT из стека не восстанавливается.

PM (бит ST07-9) – биты режима сдвига, задают сдвиговый режим выходных операций в регистре произведения P. Результат сдвига попадает в АЛУ или в память. После начальной установки все биты PM сброшены в 0.

V (бит ST06) – флаг переполнения. Если результат операции вызывает переполнение в регистре, хранящем результат, флаг V будет установлен и «защелкнут». Если переполнение не происходит, V не изменяется. Флаг V защелкнут, пока не будет очищен сбросом или командой условного перехода, которая проверяет V.

N (бит ST05) – флаг знака. N установлен, если результат операции – отрицательное число или сброшен, если результат – положительное число. После сброса N сброшен в 0. Если бит 31 ACC равен 0, ACC – положителен; если бит 31 равен 1, ACC отрицателен. Результат АH, AL, и других 16-разрядных регистров или данных в ячейках памяти также проверяются на отрицательное условие.

Z (ST04) – флаг нуля. Z установлен, если результат некоторых операций – 0 или сброшен, если результат отличается от нуля.

C (бит ST03) – флаг переноса. Этот флаг показывает, когда сложение, инкремент генерируют перенос, или когда вычитание, сравнение, декремент генерируют заем. Этот флаг также устанавливают операции программного сдвига ACC (команды ROR, ROL) и аппаратные сдвиги (barrel shift) в ACC, АH, и AL.

TC (бит ST02) – флаг тест/управление. Этот бит показывает результат тестирования, выполненного любой TBIT-командой (тест- бит) или командой NORM (нормализация).

OVM  (бит ST01) – флаг режима переполнения. Когда ACC принимает результат сложения или вычитания, и результат вызывает переполнение, OVM определяет, как CPU обрабатывает переполнение:

0 – нормальное переполнение результата в ACC. Состояние флагов OVC отражает переполнение.

1 – состояние флагов OVC не изменяется, а ACC заполняется максимально возможным положительным или отрицательным значением следующим образом:

- если ACC переполняется в положительном направлении (от 7FFF FFFF16 до 8000 000016), ACC заполняется значением 7FFF FFFF16.

- если ACC переполняется в отрицательном направлении (от 8000 000016 до 7FFF FFFF16), ACC заполняется значением 8000 000016.

SXM  (бит ST00) – флаг режима расширения знака. На флаг SXM воздействуют команды MOV, ADD и SUB, которые используют 16-битные операции в 32-разрядном аккумуляторе. Когда 16-разрядное значение загружено (MOV), добавлено (ADD) или вычтено (SUB) из ACC, SXM определяет режим обработки значения со знаком, расширенным в течение операции следующим образом:

0 – расширение знака подавлено (значение будет обрабатываться как беззнаковое).

1 – расширение  знака  допускается  (значение  будет обрабатываться как знаковое).