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...
51. CPI – Compare with Immediate
51.1. Description
This instruction performs a compare between register Rd and a constant. The register is not changed. All
conditional branches can be used after this instruction.
Operation:
(i) Rd - K
Syntax: Operands: Program Counter:
(i) CPI Rd,K 16 ≤ d ≤ 31, 0 ≤ K ≤ 255 PC ← PC + 1
16-bit Opcode:
0011 KKKK dddd KKKK
51.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
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) after the operation.
Example:
cpi r19,3 ; Compare r19 with 3
brne error ; Branch if r19<>3
...
error: nop ; Branch destination (do nothing)
Atmel AVR Instruction Set Manual [OTHER]
Atmel-0856L-AVR-Instruction-Set-Manual_Other-11/2016
81

Table of Contents

Related product manuals