Операция

(i) If I/O(P,b) = 1 then PC <-- PC + 2 (or 3) else PC <-- PC + 1
  Синтаксис Операнды: Счетчик программ:
(i) SBIS P,b 0 < P <31, 0 < b < 7 PC <-- PC + 1, если условия не соблюдены, нет пропуска
PC <-- PC + 2, если следующая команда длиной в 1слово
PC <-- PC + 3, пропускает команды JMP или CALL
           

16-разрядный код операции:

pppp pbbb

Булевы выражения регистра статуса (SREG)

I T H S V N Z C  
- - - - - - - -  

Пример:

waitset: sbis$10, 0 ; Пропустить следующую команду если установлен бит 0 в Порте D

rjmp waitset ; Бит не установлен

nop ; Продолжать (пустая операция)

Слов: 1 (2 байта)

Циклов: 1 если условия не соблюдены, нет пропуска 2 если условия соблюдены, выполняется пропуск

 

Команда SBIW - вычесть непосредственное значение из слова

Описание:Вычитание непосредственного значения (0-63) из пары регистров и размещение результата в паре регистров. Команда работает с четырьмя верхними парами регистров, удобна для работы с регистрами указателями.

Операция:

(i) Rdh:Rdl <-- Rdh:Rdl - K
  Синтаксис Операнды: Счетчик программ:
(i) SBIW Rdl,K dlÎ{24,26,28,30}, 0 < K <63 PC <- PC + 1
           

16-разрядный код операции:

KKdd KKKK

Булевы выражения регистра статуса (SREG)

I T H S V N Z C    
- - - Û Û Û Û Û    
S: NÅV, Для проверок со знаком
V: Rdh7*R15 Устанавливается если в результате операции образуется переполнение дополнения до двух, в ином случае очищается
N: R15 Устанавливается если в результате установлен MSB, в ином случае очищается
Z: R15*R14*R13*R12*R11*R10*R9*R8*R7*R6*R5*R4*R3*R2*R1*R0 Устанавливается если результат $0000, в ином случае очищается
C: R15*Rdh7 Устанавливается если абсолютное значение константы K больше абсолютного значения содержимого регистра Rd, в ином случае очищается
R: (Результат) соответствует Rdh:Rdl после выполнения команды (Rdh7-Rdh0 = R15-R8, Rdl7-Rdl0 = R7-R0)
                     

Пример:

sbiw r24, 1 ; Вычесть 1 из r25:r24

sbiw r28, 63 ; Вычесть 63 из Y указателя (r29 : r28)

Слов: 1 (2 байта)

Циклов: 2

 

Команда SBR - установить биты в регистре

Описание:Команда выполняет установку определенных битов в регистре Rd. Команда выполняет логическое ORI между содержимым регистра Rd и маской-константой K и размещает результат в регистре назначения Rd.

Операция:

(i) Rd <-- Rd v K
  Синтаксис Операнды: Счетчик программ:
(i) SBR Rd,K 16 < d < 31, 0 < K < 255 PC <- PC + 1
           

16-разрядный код операции:

KKKK dddd KKKK

Булевы выражения регистра статуса (SREG)

I T H S V N Z C    
- - - Û Û Û -    
S: NÅV, Для проверок со знаком
V: 0 Очищен
N: R7 Устанавливается если в результате установлен MSB, в ином случае очищается
Z: R7*R6*R5*R4*R3*R2*R1*R0 Устанавливается если результат $00, в ином случае очищается
R: (Результат) соответствует Rd после выполнения команды
                     

Пример:

sbr r16, 3F0 ; Установить биты 0 и 1 в r16

sbr r17, $F0 ; Установить старшие 4 бита в r17

Слов: 1 (2 байта)

Циклов: 1

 

Команда SBRC - пропустить если бит в регистре очищен

Описание:Команда проверяет состояние бита в регистре и, если этот бит очищен, пропускает следующую команду.