Составители:
22
применяется в тех случаях, когда необходимо изменить последовательность
адресов ячеек памяти программы, из которых считывается обрабатываемая
информация.
Безусловный переход задается командами
JMPR CC_UC,<метка>;
JMPI CC_UC,[Rb];
где JMPR − мнемокод перехода, со смещением; JMPI − мнемокод перехода по
указанному адресу; CC_UC − условие (безусловный переход); <метка> −
символ, установленный перед командой программы, к которой необходимо
перейти.
Пример 5.6.1
Дана программа
MOV R0,#FF8Dh; R0←FF8Dh
MOV R1,#005Ch; R1←005Ch
ADD R0,R1;
SHR R0,#2h; сдвиг вправо на 2 бита
MUL R0,R1; R0:=R0×R1
SUB R0,R1; R0:=R0−R1
Необходимо после выполнения команды арифметического сложения
(ADD) без каких-либо условий произвести операцию вычитания (SUB),
игнорируя команды сдвига (SHR) и умножения (MUL).
В этом случае программа примет вид
MOV R0,#FF8Dh; R0←FF8Dh
MOV R1,#005Ch; R1←005Ch
ADD R0,R1;
JMPR CC_UC, WQ;
SHR R0,#2h; сдвиг вправо
на 2 бита
MUL R0,R1; R0:=R0×R1
WQ: SUB R0,R1; R0:=R0−R1
5.6.2. Условные переходы
Команды условных переходов делятся на двухбайтовые и битовые.
Двухбайтовые команды условных переходов реализуются после
выполнения тех операций в АЛУ, которые изменяют значения сигнала в
регистре состояний.
Команды условных переходов имеют вид
<мнемокод> <условие>,<метка>
Мнемокод двухбайтовых команд условных переходов
JMPR− переход по смещению.
Условия
в двухбайтовых командах условных переходов:
CC_Z − результат операции равен нулю;
CC_NZ − результат операции не равен нулю;
Страницы
- « первая
- ‹ предыдущая
- …
- 20
- 21
- 22
- 23
- 24
- …
- следующая ›
- последняя »