Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KOMAROV.DOC
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.32 Mб
Скачать

Допустимые регистры xop см. П. 1.17.7.А.

Допустимое значение <exp> – любая константа от –128 до 127.

Пример: SR = LSHIFT SR1 BY –6 (HI);

Описание: Процессор производит логический сдвиг битов операнда. Направление и число сдвигов зависит от значения экспоненты, введенной непосредственным числом <exp>.

Положительное значение <exp> (перед ним нельзя ставить знак “+”) вызывает левый сдвиг, отрицательное – правый сдвиг. Сдвинутый операнд может быть размещен в старшей половине выходного поля SHIFTER (опция HI) или в младшей половине (опция LO). Сдвинутый операнд может быть также подвергнут операции логического ИЛИ с текущим содержимым регистра SR (опция SR OR).

При левом сдвиге справа от МЗР распространяется ноль, а биты сдвинутого операнда, выходящие за SR31 опускаются. При правом сдвиге слева от СРЗ распространяется ноль, а биты сдвинутого операнда, выходящие за SR0 опускаются.

При сдвиге с двойной точностью константа <exp> используется для обеих половин операнда. В первом цикле сдвигается старшая половина операнда с двойной точностью (команда LSHIFT используется с опцией HI). Для сдвига младшей половины операнда с двойной точностью команда LSHIFT использует с опциями LO и SR OR.

Флаги состояния: не изменяются.

1.17.8. Команды управления потоком программы

А) КОМАНДА ПЕРЕХОДА

[IF cond] JUMP

(I4)

;

(I5)

(I6)

(I7)

<addr>

Синтаксис:

Допустимые условия cond:

EQ NE GT GE LT LE NEG

POS AV NOT AV AC NOT AC MV NOT MV

NOT CE

Пример: IF NOT CE JUMP top_loop; {CNTR декрементируется}

Описание: Если команда выполняется (условие отсутствует или ве­р­нуло TRUE), то процессор производит переход на указанный а команде адрес. Метод адресации перехода может быть прямым или косвенным регистровым.

Прямой адрес <addr> (задается непосредственным операндом или меткой) располагается в 14-битном поле внутри команды. При косвенной регистровой адресации в команде задается один из I регистров. После выполнения перехода пост-модификация этого регистра не производится.

Если команда JUMP является последней командой цикла DO UNTIL, то необходимо корректировать состояния стеков цикла. Если используется условие NOT CE (как в примере), то при выполнении команды регистр CNTR декрементируется.

Флаги состояния: не изменяются.

Б) КОМАНДА ВЫЗОВА ПОДПРОГРАММЫ

[IF cond] СALL

(I4)

;

(I5)

(I6)

(I7)

<addr>

Синтаксис:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]