| Assembleur 80x86 |
SUB |
| INTEL 8088+ |
Arithmetic Substraction Unsigned |
Syntaxe
|
SUB opérandecible,opérandesource
|
Description
Cette instruction permet de soustraire une valeur à une opérande.
Algorithme
|
opérandecible ← opérandecible - opérandesource
|
Mnémonique
| SUB AL, imm8 |
2Ch ib |
Soustrait une valeur immédiate de 8 bits du registre AL et entrepose le résultat dans le registre AL. |
| SUB AX, imm16 |
2Dh iw |
Soustrait une valeur immédiate de 16 bits du registre AX et entrepose le résultat dans le registre AX. |
| SUB EAX, imm32 |
2Dh id |
Soustrait une valeur immédiate de 32 bits du registre EAX et entrepose le résultat dans le registre EAX. |
| SUB RAX, imm32 |
2Dh id |
Soustrait une valeur entière immédiate de 32 bits du registre RAX et entrepose le résultat dans le registre RAX. |
| SUB reg/mem8, imm8 |
80h /5 ib |
Soustrait une valeur entière immédiate de 8 bits de l'emplacement registre ou mémoire de 8 bits. |
| SUB reg/mem16, imm16 |
81h /5 iw |
Soustrait une valeur entière immédiate de 16 bits de l'emplacement registre ou mémoire de 16 bits. |
| SUB reg/mem32, imm32 |
81h /5 id |
Soustrait une valeur entière immédiate de 32 bits de l'emplacement registre ou mémoire de 32 bits. |
| SUB reg/mem64, imm32 |
81h /5 id |
Soustrait une valeur entière immédiate de 64 bits de l'emplacement registre ou mémoire de 32 bits. |
| SUB reg/mem16, imm8 |
83h /5 ib |
Soustrait une valeur entière immédiate de 16 bits de l'emplacement registre ou mémoire de 8 bits. |
| SUB reg/mem32, imm8 |
83h /5 ib |
Soustrait une valeur entière immédiate de 32 bits de l'emplacement registre ou mémoire de 8 bits. |
| SUB reg/mem64, imm8 |
83h /5 ib |
Soustrait une valeur entière immédiate de 64 bits de l'emplacement registre ou mémoire de 8 bits. |
| SUB reg/mem8, reg8 |
28h /r |
Soustrait un registre de 8 bits de l'emplacement registre ou mémoire de 8 bits. |
| SUB reg/mem16, reg16 |
29h /r |
Soustrait un registre de 16 bits de l'emplacement registre ou mémoire de 16 bits. |
| SUB reg/mem32, reg32 |
29h /r |
Soustrait un registre de 32 bits de l'emplacement registre ou mémoire de 32 bits. |
| SUB reg/mem64, reg64 |
29h /r |
Soustrait un registre de 64 bits de l'emplacement registre ou mémoire de 64 bits. |
| SUB reg8, reg/mem8 |
2Ah /r |
Soustrait de l'opérande d'emplacement registre ou mémoire de 8 bits d'un registre de 8 bits. |
| SUB reg16, reg/mem16 |
2Bh /r |
Soustrait de l'opérande d'emplacement registre ou mémoire de 16 bits d'un registre de 16 bits. |
| SUB reg32, reg/mem32 |
2Bh /r |
Soustrait de l'opérande d'emplacement registre ou mémoire de 32 bits d'un registre de 32 bits. |
| SUB reg64, reg/mem64 |
2Bh /r |
Soustrait de l'opérande d'emplacement registre ou mémoire de 64 bits d'un registre de 64 bits. |
Exceptions
| #SS(Pile) |
X |
X |
X |
Une adresse mémoire dépasse la limite du segment de pile ou n'est pas canonique |
| #GP(Protection général) |
X |
X |
X |
Une adresse mémoire dépasse la limite du segment de données ou n'est pas canonique |
| |
|
X |
L'opérande de destination n'est pas dans un segment non écrivable |
| |
|
X |
Un segment de données nulle est utilisé comme référence mémoire |
| #PF(Faute de page) |
|
X |
X |
Une faute de page résultat de l'exécution de l'instruction |
| #AC(Vérifie l'alignement) |
|
X |
X |
Un désalignement de la référence mémoire est effectué quand une vérification d'alignement est activé |
Voir également
Instruction assembleur 80x86 - Instruction ADC
Instruction assembleur 80x86 - Instruction ADD
Instruction assembleur 80x86 - Instruction SBB
Références
Le livre d'Or PC, Martin Althaus, 1992, ISBN: 2-7361-0934-1, page 838
Assembleur Facile, Philippe Mercier, 1990, ISBN: 2-501-01176-7, page 418
AMD64 Architecture Programmer's Manual Volume 3: General-Purpose and System Instructions, Edition Advanced Micro Devices, Revision 3.14, September 2007, Publication No. 24594, page 239.
Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 2B: Instruction Set Reference, N-Z, Edition Intel, Mars 2010, Publication No. 253667-034US, page 476 à 478.
|