Aritmeetika ja loogika käsud

Mnemooniline kuju

Operandid

Kirjeldus

Tegevus

Lipud

Taktide arv

Aritmeetika ja loogika käsud


ADD

Rd, Rr

Add two Registers

Liida kaks registrit

Rd < Rd + Rr

Z,C,N,V,H

1

ADC

Rd, Rr

Add with Carry two Registers

Liida kaks registrit arvestades ülekannet

Rd < Rd + Rr + C

Z,C,N,V,H

1

ADIW

Rdl,K

Add Immediate to Word

Liida 16 bitilisele sõnale konstant

Rdh:Rdl<Rdh:Rdl+K

Z,C,N,V,S

2

SUB

Rd, Rr

Subtract two Registers

Lahuta kaks registrit

Rd < Rd - Rr

Z,C,N,V,H

1

SUBI

Rd, K

Subtract Constant from Register

Lahuta konstant registrist

Rd < Rd - K

Z,C,N,V,H

1

SBC

Rd, Rr

Subtract with Carry two Registers

Lahuta kaks registrit arvestades ülekannet

Rd < Rd - Rr - C

Z,C,N,V,H

1

SBCI

Rd, K

Subtract with Carry Constant from Reg.

Lahuta konstant registris ja arvesta ülekannet

Rd < Rd - K - C

Z,C,N,V,H

1

SBIW

Rdl,K

Subtract Immediate from Word

Lahuta konstant 16 bitilisest sõnast

Rdh:Rdl<Rdh:Rdl-K

Z,C,N,V,S

2

AND

Rd, Rr

Logical AND Registers

Loogiline JA registrite vahel

Rd < Rd Rr

Z,N,V

1

ANDI

Rd, K

Logical AND Register and Constant

Loogiline JA registry ja konstandi vahel

Rd < Rd K

Z,N,V

1

OR

Rd, Rr

Logical OR Registers

Loogiline VÕI registrite vahel

Rd < Rd v Rr

Z,N,V

1

ORI

Rd, K

Logical OR Register and Constant

Loogiline VÕI registri ja konstandi vahel

Rd < Rd v K

Z,N,V

1

EOR

Rd, Rr

Exclusive OR Registers

Välistav VÕI registrite vahel

Rd < Rd e Rr

Z,N,V

1

COM

Rd

One's Complement

Rd < 0xFF - Rd

Z,C,N,V

1

NEG

Rd

Two's Complement

Rd < 0x00 - Rd

Z,C,N,V,H

1

SBR

Rd,K

Set Bit(s) in Register

Pane bitid registris üheks va. see bitt mis on märgitud

Rd < Rd v K

Z,N,V

1

CBR

Rd,K

Clear Bit(s) in Register

Pane bitid registris nulliks va. see bitt mis on märgitud

Rd < Rd (0xFF - K)

Z,N,V

1

INC

Rd

Increment

Suurenda

Rd < Rd + 1

Z,N,V

1

DEC

Rd

Decrement

Vähenda

Rd < Rd - 1

Z,N,V

1

TST

Rd

Test for Zero or Minus

Kontrolli nulli või miinust

Rd < Rd Rd

Z,N,V

1

CLR

Rd

Clear Register

Pane registrisse kõik nullid

Rd < Rd e Rd

Z,N,V

1

SER

Rd

Set Register

Pane registrisse kõik ühed

Rd < 0xFF

None

1

MUL

Rd, Rr

Multiply Unsigned

Korruta märgita

R1:R0<-RdxRr

Z, C

2

MULS

Rd, Rr

Multiply Signed

Korruta märgiga

R1:R0<-RdxRr

Z, C

2

MULSU

Rd, Rr

Multiply Signed with Unsigned

Korruta märgiga, märgita

R1:R0<-RdxRr

Z, C

2

FMUL

Rd, Rr

Fractional Multiply Unsigned

Korruta märgita murdarve

R1:R0<-(RdxRr) « 1

Z, C

2

FMULS

Rd, Rr

Fractional Multiply Signed

Korruta märgiga murdarve

R1:R0<-(RdxRr) « 1

Z, C

2

FMULSU

Rd, Rr

Fractional Multiply Signed with Unsigned

Korruta märgiga, märgita murdarve

R1:R0<-(RdxRr) « 1

Z, C

2