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 |
Rd, Rr |
Fractional Multiply Signed with Unsigned
Korruta märgiga, märgita murdarve |
R1:R0<-(RdxRr) « 1 |
Z, C |
2 |