Rainbow Electronics AT86RF401 User Manual
Page 45

45
AT86RF401
1424D–RKE–09/02
CLR
Rd
Clear Register
Rd
← Rd ⊕ Rd
Z,N,V
1
SER
Rd
Set Register
Rd
← $FF
None
1
Branch Instructions
RJMP
k
Relative Jump
PC
← PC + k + 1
None
1
IJMP
Indirect Jump to (Z)
PC
← Z
None
2
JMP
k
Direct Jump
PC
← k
None
2
RCALL
k
Relative Subroutine Call
PC
← PC + k + 1
None
3
ICALL
Indirect Call to (Z)
PC
← Z
None
3
CALL
k
Direct Subroutine Call
PC
← k
None
3
RET
Subroutine Return
PC
← STACK
None
4
RETI
Interrupt Return
PC
← STACK
I
4
CPSE
Rd,Rr
Compare, Skip if Equal
if (Rd = Rr) PC
← PC + 2 or 3
None
1/2/3
CP
Rd,Rr
Compare
Rd
− Rr
Z, N,V,C,H
1
CPC
Rd,Rr
Compare with Carry
Rd
− Rr − C
Z, N,V,C,H
1
CPI
Rd,K
Compare Register with Immediate
Rd
− K
Z, N,V,C,H
1
SBRC
Rr, b
Skip if Bit in Register Cleared
If (Rr(b)=0) PC
← PC + 2 or 3
None
1/2/3
SBRS
Rr, b
Skip if Bit in Register Set
If (Rr(b)=1) PC
← PC + 2 or 3
None
1/2/3
SBIC
P, b
Skip if Bit in I/O Register Cleared
If (P(b)=0) PC
← PC + 2 or 3
None
1/2/3
SBIS
P, b
Skip if Bit in I/O Register Set
If (P(b)=1) PC
← PC + 2 or 3
None
1/2/3
BRBS
s, k
Branch if Status Flag Set
If (SREG(s) = 1) then PC
← PC + k + 1
None
1/2
BRBC
s, k
Branch if Status Flag Cleared
If (SREG(s) = 0) then PC
← PC + k + 1
None
1/2
BREQ
k
Branch if Equal
If (Z = 1) then PC
← PC + k + 1
None
1/2
BRNE
k
Branch if Not Equal
If (Z = 0) then PC
← PC + k + 1
None
1/2
BRCS
k
Branch if Carry Set
If (C = 1) then PC
← PC + k + 1
None
1/2
BRCC
k
Branch if Carry Cleared
If (C = 0) then PC
← PC + k + 1
None
1/2
BRSH
k
Branch if Same or Higher
If (C = 0) then PC
← PC + k + 1
None
1/2
BRLO
k
Branch if Lower
If (C = 1) then PC
← PC + k + 1
None
1/2
BRMI
k
Branch if Minus
If (N = 1) then PC
← PC + k + 1
None
1/2
BRPL
k
Branch if Plus
If (N = 0) then PC
← PC + k + 1
None
1/2
BRGE
k
Branch if Greater or Equal, Signed
If (N
⊕ V= 0) then PC ← PC + k + 1
None
1/2
BRLT
k
Branch if Less Than Zero, Signed
If (N
⊕ V= 1) then PC ← PC + k + 1
None
1/2
BRHS
k
Branch if Half Carry Flag Set
If (H = 1) then PC
← PC + k + 1
None
1/2
BRHC
k
Branch if Half Carry Flag Cleared
If (H = 0) then PC
← PC + k + 1
None
1/2
BRTS
k
Branch if T Flag Set
If (T = 1) then PC
← PC + k + 1
None
1/2
BRTC
k
Branch if T Flag Cleared
If (T = 0) then PC
← PC + k + 1
None
1/2
BRVS
k
Branch if Overflow Flag Set
If (V = 1) then PC
← PC + k + 1
None
1/2
Table 10. Instruction Set (Continued)
Mnemonics
Operands
Description
Operation
Flags
#Clocks