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 – расширение знака допускается (значение будет обрабатываться как знаковое).
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.