Section courante

A propos

Section administrative du site

Assembleur 80x86

LEAVE

INTEL 80186+ Leave

Syntaxe

LEAVE

Description

Cette instruction permet de libérer une zone de mémoire attribué par l'instruction «ENTER» lorsqu'on utilise des procédures dans des langages de programmation de haut niveau.

Algorithme

MODULE LEAVE
   SI taille de l'adresse de pile = 32 bits ALORS
      ESP ← EBP
   SINON
      SP ← BP
   FIN SI
   SI taille l'opérande = 32 bits ALORS
      EBP ← POP()
   SINON
      BP ← POP()
   FIN SI

Mnémonique

Instruction Opcode Description
LEAVE C9h Fixe le pointeur de pile du registre SP à la valeur du registre BP et «POP BP».
LEAVE C9h Fixe le pointeur de pile du registre ESP à la valeur du registre EBP et «POP EBP». Pas de préfixe pour le mode 64 bits.
LEAVE C9h Fixe le pointeur de pile du registre RSP à la valeur du registre RBP et «POP RBP».

Exceptions

Message Mode réel Virtuel 8086 Mode protégé Description
#SS(Pile) X X X Une adresse mémoire dépasse la limite du segment de pile ou n'est pas canonique
#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 ENTER

Références

Le livre d'Or PC, Martin Althaus, 1992, ISBN: 2-7361-0934-1, page 817
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 147.
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 651 à 652.

Dernière mise à jour : Lundi, le 1 septembre 2014