Section courante

A propos

Section administrative du site

Assembleur 80x86

POPF

INTEL 8088+, x86-64 Pop Flags

Syntaxe

POPF

Description

Cette instruction permet de désempiler de la pile le registre 16 bits de drapeau contenant les indicateurs d'état.

Algorithme

MODULE POPF
   Registre de drapeaux ← SS:(E)SP
   (E)SP ← (E)SP + 2

Mnémonique

Instruction Opcode Description
POPF 9Dh Désempile le mot de la pile et la met dans le registres des drapeaux (FLAGS).

Exceptions

Message Mode réel Virtuel 8086 Mode protégé Description
#SS(Pile non-canonique) 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   Le niveau de privilège d'entrée/sortie est inférieur à 3 et CR4.VME vaut 0.
  X   Le niveau de privilège d'entrée/sortie est inférieur à 3 et une opérande est de taille de 32 bits.
  X   Le niveau de privilège d'entrée/sortie est inférieur à 3 et les bits EFLAGS.VIP et le nouveau EFLAGS.IF valent 1.
  X   Le niveau de privilège d'entrée/sortie est inférieur à 3 et le nouveau EFLAGS.TF vaut 1.
#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é

Exemple

L'exemple suivant permet de remplacer la valeur des drapeaux du microprocesseur la valeur de la variable nouveaudrapeau en mode réel :

  1. MOV AX,nouveaudrapeau
  2. PUSH AX
  3. POPF

Voir également

Langage de programmation - Assembleur 80x86 - Instruction PUSHF
Langage de programmation - Assembleur 80x86 - Instruction PUSHFD
Langage de programmation - Assembleur 80x86 - Instruction PUSHFQ
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
Assembleur Facile, Philippe Mercier, 1990, ISBN: 2-501-01176-7, page 412
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 234 à 237.
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 190.

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