Команда 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-разрядный код операции:
Булевы выражения регистра статуса (SREG)
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
|