EasyManua.ls Logo

Atmel AVR

Atmel AVR
191 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
124. SUBI – Subtract Immediate
124.1. Description
Subtracts a register and a constant, and places the result in the destination register Rd. This instruction is
working on Register R16 to R31 and is very well suited for operations on the X, Y, and Z-pointers.
Operation:
(i) Rd ← Rd - K
Syntax: Operands: Program Counter:
(i) SUBI Rd,K 16 ≤ d ≤ 31, 0 ≤ K ≤ 255 PC ← PC + 1
16-bit Opcode:
0101 KKKK dddd KKKK
124.2. Status Register 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
Set if the result is $00; cleared otherwise.
C Rd7 • K7 + K7 • R7 + R7 • Rd7
Set if the absolute value of K is larger than the absolute value of Rd; cleared otherwise.
R (Result) equals Rd after the operation.
Example:
subi r22,$11 ; Subtract $11 from r22
brne noteq ; Branch if r22<>$11
...
noteq: nop ; Branch destination (do nothing)
Atmel AVR Instruction Set Manual [OTHER]
Atmel-0856L-AVR-Instruction-Set-Manual_Other-11/2016
183

Table of Contents

Related product manuals