<addr> и условие завершения цикла загружаются в стек циклов PSqr, а
текущее содержимое счетчика команд, то есть PC+1 загружается в стек PC
для того, чтобы иметь адрес для продолжения программы после завершения
цикла. Код условия проверяется аппаратно каждый раз при прохождении
команды по адресу <addr>.
3.3.4.3. Команда TRAP. Команда TRAP используется при отладке
программы,
по условию останавливает работу процессора. Формат команды:
[IF условие] TRAP;
Если условие не требуется, то команда используется безусловно.
3.3.5. Смешанные команды. Это последний класс команд из набора и
используется для модификации содержимого индексных регистров,
управления стеками, и переключения альтернативных регистровых банков.
3.3.5.1. Модификация адресных регистров:
MODIFY(Im,Mn);
Значение адреса в индексном регистре I модифицируется значением
M(по
модулю L), как при косвенно-индексной адресации, но без передачи данных
из памяти (или в память). Для любого адресного генератора (DAG1 или
DAG2) значение в Mn складывается с содержимым Im , а затем выполняется
обработка модульной логикой с использованием значения длины буфера Lm;
результат этих операций сохраняется в Im. Выбор регистров
Im и Mn для
DAG1 задается в интервале от I0 до I3 и от M0 до M3, а для DAG2 – от I4 до
I7 и M4 до M7.
3.3.5.2. Управление стеком. Команды «ручного» управления стеками.
Формат команды:
Команды PUSH и POP статусного стека повторяют команды обычных
микропроцессоров, но часто не используются, поскольку при вызове
подпрограмм и переходе к подпрограммам обработки прерываний эти
функции выполняются автоматически. Комбинация функций управления
80