98. SBCI – Subtract Immediate with Carry SBI – Set Bit in I/O Register
98.1. Description
Subtracts a constant from a register and subtracts with the C Flag, and places the result in the destination
register Rd.
Operation:
(i) Rd ← Rd - K - C
Syntax: Operands: Program Counter:
(i) SBCI Rd,K 16 ≤ d ≤ 31, 0 ≤ K ≤ 255 PC ← PC + 1
16-bit Opcode:
0100 KKKK dddd KKKK
98.2. Status Register (SREG) and Boolean Formula
I T H S V N Z C
– – ⇔ ⇔ ⇔ ⇔ ⇔ ⇔
H Rd3 • K3 + K3 • R3 + R3 • Rd3
Set if there was a borrow from bit 3; cleared otherwise.
S N ⊕ V, for signed tests.
V Rd7 • K7 • R7 + Rd7 • K7 • R7
Set if two’s complement overflow resulted from the operation; cleared otherwise.
N R7
Set if MSB of the result is set; cleared otherwise.
Z R7 • R6 • R5 • R4 • R3 • R2 • R1 • R0 • Z
Previous value remains unchanged when the result is zero; cleared otherwise.
C Rd7 • K7 + K7 • R7 + R7 • Rd7
Set if the absolute value of the constant plus previous carry is larger than the absolute value of Rd;
cleared otherwise.
R (Result) equals Rd after the operation.
Example:
; Subtract $4F23 from r17:r16
subi r16,$23 ; Subtract low byte
sbci r17,$4F ; Subtract with carry high byte
Atmel AVR Instruction Set Manual [OTHER]
Atmel-0856L-AVR-Instruction-Set-Manual_Other-11/2016
149