Синтаксис: |
Операнды: |
Счетчик программ: |
BRLT k |
-64 < k <+63 |
PC <- PC + k + 1 |
|
|
PC <- PC + 1, если |
|
|
условия не соблюдены. |
Пример: |
; Сравнить r16 с r1. |
cp r16, r1 |
|
brlt less |
; Перейти, если r16 < r1 |
|
; (со знаком). |
less nop |
..... |
; Пустая операция. |
Слов: 1 (2 байта). Циклов: 1, если условия не соблюдены, 2 при соблюдении правильных условий.
Команда BRMI перейти, если минус
Описание:
Условный относительный переход. Тестируется бит флага отрицательного значения (N) регистра статуса и, если бит установлен, выполняется переход относительно состояния счетчика программ. Данная команда выполняет переход в любом направлении относительно состояния счетчика программ (PC - 64 < назначение < PC + 63). Параметр k является смещением относительно состояния счетчика программ и представлен в форме дополнения до двух. (Команда эквивалентна BRBS r, k.)
Операция: If N = 1 then then PC <- PC + k +1, else PC <- PC +1
Синтаксис: |
Операнды: |
Счетчик программ: |
BRMI k |
-64 < k <+63 |
PC <- PC + k + 1 |
|
|
PC <- PC + 1, если условия не |
|
|
соблюдены. |
Пример: |
subi r18, 4 |
; Вычесть 4 из r18. |
|
||
|
brmi negative ; Перейти, если результат |
|
|
..... |
;отрицательный. |
negative: nop |
; Пустая операция. |
|
Слов: 1 (2 байта). Циклов: 1, если условия не соблюдены, 2 при соблюдении правильных условий.
Команда BRNE перейти, если не равно
Описание:
Условный относительный переход. Тестируется бит флага нулевого значения (Z) регистра статуса и, если бит очищен, выполняется переход относительно состояния счетчика программ. Если команда выполняется
65
сразу после выполнения любой из команд CP, CPI, SUB или SUBI, то переход произойдет, если двоичное число со знаком или без знака, находящееся в Rd, не равно двоичному числу со знаком или без знака, находящемуся в Rr. Данная команда выполняет переход в любом направлении относительно значения счетчика программ (PC - 64 < назначение < PC + 63). Параметр k является смещением. (Команда эквивалентна BRBC 1,k.)
Операция: If Rd Rr (Z = 0) then then PC <- PC + k +1, else PC <- PC +1
Синтаксис: |
Операнды: |
Счетчик программ: |
BRNE k |
-64 < k <+63 |
PC <- PC + k + 1 |
|
|
PC <- PC + 1, если условия не |
|
|
соблюдены. |
Пример: |
eor r27, r27 ; Очистить r27. |
||
loop: |
|||
inc r27 |
; Увеличить на 1 r27. |
||
|
cpi r27, 5 |
..... |
|
|
; Сравнить r27 с 5. |
||
|
brne loop |
; Перейти, если r27 <> 5. |
|
|
nop |
; Пустая операция. |
|
Слов: 1 (2 байта). Циклов: 1, если условия не соблюдены, 2 при соблюдении правильных условий.
Команда BRPL перейти, если плюс
Описание:
Условный относительный переход. Тестируется бит флага отрицательного значения (N) регистра статуса и, если бит очищен, выполняется переход относительно состояния счетчика программ. Данная команда выполняет переход в любом направлении относительно состояния счетчика программ (PC-64 < назначение < PC+63). Параметр k является смещением относительно состояния счетчика программ и представлен в форме дополнения до двух. (Команда эквивалентна BRBC 2,k.)
Операция: If N = 0 then then PC <- PC + k +1, else PC <- PC +1
Синтаксис: |
Операнды: |
Счетчик программ: |
BRPL k |
-64 < k <+63 |
PC <- PC + k + 1 |
|
|
PC <- PC + 1, если |
|
|
условия не соблюдены. |
Пример:
subi r26, $50 ; Вычесть $50 из r26. brpl positive ; Перейти, если r26
66
..... |
;положителен. |
positive: nop |
; Пустая операция. |
Слов: 1 (2 байта). Циклов: 1 если, условия не соблюдены, 2 при соблюдении правильных условий.
Команда BRSH перейти, если равно или больше (без знака)
Описание:
Условный относительный переход. Тестируется бит флага перехода (C) регистра статуса и, если бит очищен, выполняется переход относительно состояния счетчика программ. Если команда выполняется непосредственно после выполнения любой из команд CP, CPI, SUB или SUBI переход произойдет если, и только если, двоичное число без знака, представленное в Rd, больше или равно двоичному числу без знака, представленному в Rr. Данная команда выполняет переход в любом направлении относительно состояния счетчика программ (PC-64 < назначение < PC+63). Параметр k является смещением относительно состояния счетчика программ и представлен в форме дополнения до двух. (Команда эквивалентна BRBC 0,k.)
Операция: If Rd > Rr (C = 0) then then PC <- PC + k +1, else PC <- PC +1
Синтаксис: |
Операнды: |
Счетчик программ: |
BRSH k |
-64 < k <+63 |
PC <- PC + k + 1 |
|
|
PC <- PC + 1, если условия |
|
|
не соблюдены |
Пример:
subi r19, 4 ; Вычесть 4 из r19. brsh highsm ; Перейти, если r2 >= 4
..... ; (без знака). highsm: nop ; Пустая операция.
Слов: 1 (2 байта). Циклов:1, если условия не соблюдены, 2 при соблюдении правильных условий.
Команда BRTC перейти, если флаг T очищен
Описание:
Условный относительный переход. Тестируется бит флага пересылки (T) регистра статуса и, если бит очищен, выполняется переход относительно состояния счетчика программ. Данная команда выполняет переход в любом направлении относительно состояния счетчика программ (PC-64 < назначение < PC+63). Параметр k является смещением относительно состояния счетчика программ. (Команда эквивалентна BRBC 6,k.)
Операция: If T = 0 then then PC <- PC + k +1, else PC <- PC +1
67
Синтаксис: Операнды: Счетчик программ:
BRTC k -64 < k <+63 PC <- PC + k + 1
PC <- PC + 1, если условия не соблюдены.
Пример:
bst r3, 5 ; Сохранить бит 5 регистра r3 ;во флаге T.
brtc tclear ; Перейти, если этот бит очищен.
tclear: |
nop |
..... |
операция. |
; Пустая |
Слов: 1 (2 байта). Циклов: 1, если условия не соблюдены, 2 при соблюдении правильных условий.
Команда BRTS перейти, если флаг T установлен
Описание:
Условный относительный переход. Тестируется бит флага пересылки (T) регистра статуса и, если бит установлен, выполняется переход относительно состояния счетчика программ. Данная команда выполняет переход в любом направлении относительно состояния счетчика программ (PC - 64 < назначение < PC+63). Параметр k является смещением относительно состояния счетчика программ и представлен в форме дополнения до двух. (Команда эквивалентна BRBC 6,k).
Операция: If T = 1 then then PC <- PC + k +1, else PC <- PC +1
Синтаксис: |
Операнды: |
Счетчик программ: |
BRTS k |
-64 < k <+63 |
PC <- PC + k + 1 |
|
|
PC <- PC + 1, если условия |
|
|
не соблюдены. |
Пример:
bst r3, 5 ; Сохранить бит 5 регистра r3 ;во флаге T.
brts tset ; Перейти, если этот бит установлен.
..... |
; Пустая операция |
tset: nop |
Слов: 1 (2 байта). Циклов: 1, если условия не соблюдены, 2 при соблюдении правильных условий.
Команда BRVC перейти, если переполнение очищено
Описание:
Условный относительный переход. Тестируется бит флага переполнения
(V) регистра статуса и, если бит очищен, выполняется переход относительно состояния счетчика программ. Данная команда выполняет переход
68
в любом направлении относительно состояния счетчика программ (PC-64 < назначение < PC+63). Параметр k является смещением относительно состояния счетчика программ и представлен в форме дополнения до двух. (Команда эквивалентна BRBC 3,k.)
Операция: If V = 0 then then PC <- PC + k +1, else PC <- PC +1
Синтаксис: |
Операнды: |
Счетчик программ: |
BRVC k |
-64 < k <+63 |
PC <- PC + k + 1 |
|
|
PC <- PC + 1, если условия не |
|
|
соблюдены. |
Пример:
add r3, r4 ; Сложить r4 с r3.
brvc noover ; Перейти, если нет переполнения.
noover: |
..... |
; Пустая операция. |
nop |
Слов: 1 (2 байта). Циклов: 1, если условия не соблюдены, 2 при соблюдении правильных условий.
Команда BRVS перейти, если переполнение установлено
Описание:
Условный относительный переход. Тестируется бит флага переполнения
(V) регистра статуса и, если бит установлен, выполняется переход относительно состояния счетчика программ. Данная команда выполняет переход в любом направлении относительно состояния счетчика программ (PC64 < назначение < PC+63). Параметр k является смещением.
Операция: If V = 1 then then PC <- PC + k +1, else PC <- PC +1
Синтаксис: Операнды: Счетчик программ:
BRVS k -64 < k <+63 PC <- PC + k + 1
PC <- PC + 1, если условия не соблюдены
Пример:
add r3, r4 ; Сложить r4 с r3.
brvs overfl ; Перейти, если есть переполнение. overfl: nop ; Пустая операция.
Слов: 1 (2 байта). Циклов: 1, если условия не соблюдены, 2 при соблюдении правильных условий.
Команда BSET установить бит в регистре статуса (SREG)
Описание:
Установка одного флага в регистре статуса.
Операция: SREG(s)<-- 1
69