beautypg.com

Rainbow Electronics AT86RF401 User Manual

Page 45

background image

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