Assembleur 80x86 |
LEA |
INTEL 8088+ |
Load Effective Address |
Syntaxe
LEA opérande_cible,opérande_source
|
Description
Cette instruction permet d'incrémenter un registre ou un emplacement mémoire.
Algorithme
Destination ← Adresse (source)
|
Mnémonique
Instruction |
Opcode |
Description |
LEA reg16, mem |
8Dh /r |
Entrepose l'adresse effective dans un registre 16 bits. |
LEA reg32, mem |
8Dh /r |
Entrepose l'adresse effective dans un registre 32 bits. |
LEA reg64, mem |
8Dh /r |
Entrepose l'adresse effective dans un registre 64 bits. |
Cycles d'horloge
Opérande |
Cycle d'horloge |
Taille en octets |
8086 |
80286 |
80386 |
80486 |
reg,mem |
2+EA |
3 |
2 |
1 |
2 à 4 |
Exceptions
Message |
Mode réel |
Virtuel 8086 |
Mode protégé |
Description |
#UD(Opcode invalide) |
X |
X |
X |
L'opérande source est un registre. |
Exemples
L'exemple suivant permet de doubler la valeur du registre EAX = EAX * 2 :
- LEA EAX, [EAX+EAX]
L'exemple suivant permet d'additionner 11 au registre ESI et d'entreposer le résultat dans le registre EDI :
- LEA EDI, [ESI+0Bh]
Voir également
Instruction assembleur 80x86 - Instruction MOV
Références
Le livre d'Or PC, Martin Althaus, 1992, ISBN: 2-7361-0934-1, page 817
Assembleur Facile, Philippe Mercier, 1990, ISBN: 2-501-01176-7, page 409
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 145.
Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 2A: Instruction Set Reference, A-M, Edition Intel, Mars 2010, Publication No. 253666-034US, page 647 à 651.
Dernière mise à jour : Lundi, le 1 septembre 2014