Hargnemiskäsud

Mnemooniline kuju

Operandid

Kirjeldus

Tegevus

Lipud

Taktide arv

Hargnemiskäsud

 

RJMP

k

Relative Jump

Suhteline hüppamine

PC < PC + k +1

None

2

IJMP

 

Indirect Jump to (Z)

Hüppa registris Z olevale aadressile

PC<Z

None

2

JMP(1)

k

Direct Jump

Otsene hüppamine

PC<k

None

3

RCALL

k

Relative Subroutine Call

Suhteline alamprogrammi hüppamine

PC<PC + k+ 1

None

3

ICALL

 

Indirect Call to (Z)

Alamprogrammi hüppamine Z registri aadressi järgi

PC<Z

None

3

CALL(1)

k

Direct Subroutine Call

Otsene alamprogrammi hüppamine

PC<k

None

4

RET

 

Subroutine Return

Alamprogrammist tagasi pöördumine

PC < STACK

None

4

RETI

 

Interrupt Return

Tagasi pöördumine katkestusele

PC < STACK

I

4

CPSE

Rd,Rr

Compare, Skip if Equal

Võrdle, jäta vahele kui on võrdsed

if (Rd = Rr) PC < PC + 2 or 3

None

1/2/3

CP

Rd,Rr

Compare

Võrdle kaht registrit

Rd,Rr

Z, N,V,C,H

1

CPC

Rd,Rr

Compare with Carry

Võrdle arvestades ülekannet

Rd-Rr-C

Z, N,V,C,H

1

CPI

Rd,K

Compare Register with Immediate

Võrdle registrit konstandiga

Rd-K

Z, N,V,C,H

1

SBRC

Rr, b

Skip if Bit in Register Cleared

Jäta vahele kui bitt registris on “0”

if (Rr(b)=0) PC < PC + 2 or 3

None

1/2/3

SBRS

Rr, b

Skip if Bit in Register is Set

Jäta vahele kui bitt registris on “1”

if (Rr(b)=1) PC < PC + 2 or 3

None

1/2/3

SBIC

P, b

Skip if Bit in I/O Register Cleared

Jäta vahele kui bitt I/O registris on “0”

if (P(b)=0) PC < PC + 2 or 3

None

1/2/3

SBIS

P, b

Skip if Bit in I/O Register is Set

Jäta vahele kui bitt I/O registris on “1”

if (P(b)=1) PC < PC + 2 or 3

None

1/2/3

BRBS

s, k

Branch if Status Flag Set

Hüppa kui statuslipp on “1”

if (SREG(s) = 1) then PC<PC+k + 1

None

1/2

BRBC

s, k

Branch if Status Flag Cleared

Hüppa kui statuslipp on “0”

if (SREG(s) = 0) then PC<PC+k + 1

None

1/2

BREQ

k

Branch if Equal

Hüppa kui on võrdsed

if (Z= 1)then PC<PC + k+ 1

None

1/2

BRNE

k

Branch if Not Equal

Hüppa kui pole võrdsed

if (Z = 0) then PC < PC + k + 1

None

1/2

BRCS

k

Branch if Carry Set

Hüppa kui ülekande lipp on “1”

tif (C = 1) then PC<PC + k+ 1

None

1/2

BRCC

k

Branch if Carry Cleared

Hüppa kui ülekande lipp on “0”

if (C = 0)then PC<PC + k+ 1

None

1/2

BRSH

k

Branch if Same or Higher

Hüppa kui on sama või suurem

if (C = 0)then

PC<PC + k+ 1

None

1/2

BRLO

k

Branch if Lower

Hüppa kui on väiksem

if (C = 1)then PC<PC + k+ 1

None

1/2

BRMI

k

Branch if Minus

Hüppa kui on negatiivne

if (N = 1)then

PC<PC + k + 1

None

1/2

BRPL

k

Branch if Plus

Hüppa kui on positiivne

if (N =0)then PC<PC + k+ 1

None

1/2

BRGE

k

Branch if Greater or Equal, Signed

Hüppa kui on suurem või võrdne, märgiga

if (N e V= 0) then PC < PC + k + 1

None

1/2

BRLT

k

Branch if Less Than Zero, Signed

Hüppa kui on väiksem kui null, märgiga

if (Ne V= 1)thenPC<PC + k+ 1

None

1/2

BRHS

k

Branch if Half Carry Flag Set

Hüppa kui pool ülekane lipp on “1”

if (H = 1)then

PC<PC + k + 1

None

1/2

BRHC

k

Branch if Half Carry Flag Cleared

Hüppa kui pool ülekande lipp on “0”

if (H = 0)then PC<PC + k+ 1

None

1/2

BRTS

k

Branch if T Flag Set

Hüppa kui T lipp on “1”

if (T = 1) then PC<PC + k +1

None

1/2

BRTC

k

Branch if T Flag Cleared

Hüppa Kui T lipp on “0”

if (T = 0) then

PC < PC + k + 1

None

1/2

BRVS

k

Branch if Overflow Flag is Set

Hüppa kui ületäitumise lipp on “1”

if (V=1)then

PC<PC + k+1

None

1/2

BRVC

k

Branch if Overflow Flag is Cleared

Hüppa kui ületäitumise lipp on “0”

if (V = 0) then

PC < PC + k + 1

None

1/2

BRIE

k

Branch if Interrupt Enabled

Hüppa kui katkestus on lubatud

if (I = 1)then

PC<PC + k+ 1

None

1/2

BRID

k

Branch if Interrupt Disabled

Hüppa kui katkestus pole lubatud

if( I = 0)then

PC<PC + k+ 1

None

1/2