Пр о ц е с с о р TMS 3 2 0C4 x
55
Режим повторений.
В процессоре TMS320C4x имеется возможность
многократно выполнять команду или группу команд (программный цикл). В
этом случае процессор работает в режиме повторений (установлен бит RM в ре-
гистре состояния ST). Для поддержки режима повторений используются специ-
альные аппаратные средства процессора - регистры RS (начальный адрес блока
повторений), RE (конечный адрес блока повторений) и RC (счетчик блока по-
вторений). В системе команд процессора имеется три команды для перевода
процессора в режим повторений: RPTB, RPTBD и RPTS.
Перед выполнением команд RPTB и RPTBD в счетчик повторений RC
должно быть загружено число повторений уменьшенное на единицу. Команда
RPTS сама загружает счетчик повторений. Максимальное число повторений
80000001h (загружается код 80000000h), минимальное – один (загружается код
00000000h). Запись 0 в счетчик повторений RC или в бит RM регистра состоя-
ния выводит процессор из режима повторения блока или команды. После оче-
редного выполнения блока или команды счетчик повторений уменьшается на
единицу. Выполнение блока прекращается, если счетчик становится отрица-
тельным.
Команды RPTB и RPTBD
.
Команды выполняют повтор блока команд за-
данное число раз. Команда RPTBD в отличие от RPTB перед началом повторе-
ния блока выполняет три следующие за ней инструкции. При выполнении этих
команд процессор:
•
загружает начальный адрес блока повторений в регистр RS:
♦
для RPTB PC+1
→
RS,
♦
для RPTBD
PC+4
→
RS;
•
загружает конечный адрес блока повторений в регистр RE:
♦
при относительном режиме адресации:
а) для RPTB
disp+PC+1
→
RE,
б) для RPTBD
disp+PC+3
→
RE,
♦
при регистровом режиме адресации src
→
RE;
•
устанавливает в 1 бит RM в регистре состояния.
Пример программы повторения блока команд
LDI 15,RC
; загрузка 15 в счетчик повторений
RPTB ENDLOOP
;
выполнение блока с адреса STLOOP
; до адреса ENDLOOP 16 раз
STLOOP
. . .
ENDLOOP
Команда RPTS
.
Выполняет повтор следующей за ней команды заданное
число раз. Команда блокирует все прерывания процессора, в том числе и не-
маскируемые. Процессор выполняет следующие действия:
•
PC+1
→
RS;