Académique Documents
Professionnel Documents
Culture Documents
• Instructions arithmétiques :
Addition : ADD, ADC, ADIW, INC
Soustraction : SUB, SUBI, SBC, SBCI, SBIW, DEC
Syntaxe :
Exemple :
ADD R0,R1
Syntaxe :
Exemple :
ADC R2,R3
Syntaxe :
INC Rd
Code machine :
1001 010d dddd 0011
Exemple :
INC R10
14
ADIW :Additionne une constante à un registre 16 bits
Syntaxe :
ADIW Rd : Rd-1 , K
00 R25 : R24
01 R27 : R26
10 R29 : R28
11 R31 : R30
Exemple :
Syntaxe :
Exemple :
SUB R0,R1
Syntaxe :
Exemple :
SUBI R16,5
15
SBCI :Soustrait une constante d’un GPR
Syntaxe :
Code machine :
0100 kkkk dddd kkkk
Exemple :
SBCI R18 , 20
Syntaxe :
Exemple :
DEC R2,
Syntaxe :
SBIW Rd : Rd-1 , K
Code machine :
1001 0111 kkdd kkkk
Exemple :
MUL : Multiplication non signée (les opérandes sont des entiers non signés)
Syntaxe :
MUL R16,R17
16
MULS : Multiplication signée (les opérandes sont des entiers signés)
Syntaxe :
Exemple :
MULS R16,R17
MULSU: Multiplication signé-non signé (un opérande signé et un opérande non signés)
Syntaxe :
Exemple :
MULSU R16,R17
FMUL, FMULS, FMULSU : le résultat est toujours dans R1 : R0 et les registres adressés sont
R16 à R23.
• Instructions logiques : permettent de réaliser des opérations logiques bit à bit (bitwise)
AND : et logique entre deux GPRs
Syntaxe :
AND Rd,Rr ; RdRd and Rr
Code machine :
0010 00rd dddd rrrr
Exemple :
AND R0,R1
Exemple :
ANDI R0,$20
17
Code machine : 0010 10rd dddd rrrr
Exemple :
OR R0,R1
Syntaxe :
ORI Rd,K ; RdRd OR K
Code machine :
0110 kkkk dddd kkkk
Exemple :
ORI R0,R1
Syntaxe :
EOR Rd,Rr
EOR R10,R15
Syntaxe :
EORI Rd,K
Exemple :
Syntaxe :
COM Rd
Exemple :
COM R12
18
NEG :complément à 2 d’un GPR
Syntaxe :
NEG Rd
Code machine :
1001 010d dddd 0001
Exemple :
NEG R20
• Comparaison :
✓ la comparaison modifie seulement le registre SREG
✓ la comparaison est effectuée pour se préparer à un branchement (saut)
✓ le branchement dépendra des états des flags du registre SREG
✓ une comparaison sans branchement est sans utilité
Syntaxe :
CP Rd,Rr ; opération Rd-Rr pas de résultat de soustraction mais les flags sont affectés
19
Code machine :
0001 01rd dddd rrrr
Exemple :
CP R16,R17
Syntaxe :
CPC Rd,Rr ; opération Rd-Rr-C pas de résultat de soustraction mais les flags sont affectés
Code machine :
0000 01rd dddd rrrr
Exemple :
CPC R16,R17
Syntaxe :
CPI Rd,K ; opération Rd-K pas de résultat de soustraction mais les flags sont affectés
Code machine :
0011 kkkk dddd kkkk
Exemple :
CPI R16,40
Syntaxe :
CPSE
Code machine :
0001 00rd dddd rrrr
20