Voici une liste des principales instructions en assembleur des processeurs 80x86, ainsi que du code machine qui leur est associé et de leur taille en mémoire. Les valeurs val et les adresses adr sont données sur 16 bits.
Instruction en
assembleur
|
Descriptif de l'instruction |
| ADD AX, Val |
Ajoute à AX la valeur indiquée et stocke le résultat dans AX |
| ADD AX, Adr |
Ajoute à AX la valeur stockée à l'adresse indiquée et stocke le résultat dans AX |
| CMP AX, Val |
Compare AX et la valeur indiquée |
| CMP AX, Adr |
Compare AX et la valeur stockée à l'adresse indiquée |
| DEC AX |
Décrémente AX (soustrait 1) |
| INC AX |
Incrémente AX (ajoute 1) |
| JA adr |
Saut à l'adresse indiquée si CF=0 |
| JB adr |
Saut à l'adresse indiquée si CF=1 |
| JE adr |
Saut à l'adresse indiquée si égalité |
| JG adr |
Saut à l'adresse indiquée si supérieur |
| JLE adr |
Saut à l'adresse indiquée si inférieur |
| JNE adr |
Saut à l'adresse indiquée si non égalité |
| MOV AX, Val |
Ax := Val |
| XCHG a, b |
temp := b | b := a | a := temp |
| PUSH a |
pile := a |
| POP a |
a := Pile |
| JMP adr |
Saut à l'adresse indiquée |
| OUT port, a |
port := a (port entre 0 et FFFF) |
| IN a, port |
a := port (port entre 0 et FFFF) |
| NEG a |
a := -a |
| MUL a |
AX := AL* a si a est un octet
DX:AX := AX * a si a est un mot |
| DIV a |
AL := AX / a AH := reste si a est un octet
AX := DX:AX / a DX := reste si a est un mot |
| AND a, b |
a := a et b |
| OR a, b |
a := a ou b |
| XOR a, b |
a := a xor b |
| NOT a |
a := complément(a) |
| CALL a |
appel de la fonction située à l'adresse a |
| RET |
retour de la fonction |
Les instructions de Rotation & de Décalage :
Instruction en
assembleur |
Descriptif de l'instruction |
Schéma |
| RCL a,b |
rotation à gauche de b bits de a en passant par CF |
|
| ROL a,b |
rotation à gauche de b bits de a sans passer par CF |
|
| SAL a,b |
déplacement à gauche de b bits de a |
|
| SAR a,b |
déplacement à droite de b bits de a |
|
| SHL a,b |
déplacement à gauche de b bits de a |
|
| SHR a,b |
déplacement à droite de b bits de a |
|
| SHLD a,b,d |
déplacement à gauche de d bits (affecte a mais ne modifie pas b) |
|
| SHRD a,b,d |
déplacement à droite de d bits (affecte a mais ne modifie pas b) |
|
|