Section courante

A propos

Section administrative du site

Assembleur 80x86

POPAD

INTEL 80386+ Pop All General Registers Double

Syntaxe

POPAD

Description

Cette instruction permet de désempiler de la pile respectivement les registres EDI, ESI, EBP, ESP, EBX, EDX, ECX et EAX.

Algorithme

EDI ← SS:(E)SP
(E)SP ← (E)SP + 2
ESI ← SS:(E)SP
(E)SP ← (E)SP + 2
EBP ← SS:(E)SP
(E)SP ← (E)SP + 2
* Ne depile jamais le ESP
(E)SP ← (E)SP + 2
EBX ← SS:(E)SP
(E)SP ← (E)SP + 2
EDX ← SS:(E)SP
(E)SP ← (E)SP + 2
ECX ← SS:(E)SP
(E)SP ← (E)SP + 2
EAX ← SS:(E)SP
(E)SP ← (E)SP + 2

Mnémonique

Instruction Opcode Description
POPAD 61h Désempile les registres EDI, ESI, EBP, ESP, EBX, EDX, ECX et EAX. Invalide en mode 64 bits.

Exceptions

Message Mode réel Virtuel 8086 Mode protégé Description
#UD(Opcode invalide)     X Cette instructions est exécuté en mode 64 bits.
#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

Langage de programmation - Assembleur 80x86 - Instruction PUSHA
Langage de programmation - Assembleur 80x86 - Instruction PUSHAD
Langage de programmation - Structure de données - Structures récursives linéaires - Pile

Références

Le livre d'Or PC, Martin Althaus, 1992, ISBN: 2-7361-0934-1, page 826
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 229 à 231.
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 187.

Dernière mise à jour : Vendredi, le 5 septembre 2014