Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Génère une WOD_PUSH entrée de code de déroulement pour le registre spécifié à l’aide du décalage actuel dans l’épilogue.
Syntaxe
. Registre POPREG
Paramètres
Registre
Registre à afficher. Doit être un registre 64 bits universel.
Remarques
Important
Cette directive est expérimentale et peut être modifiée. Activez Le déroulement de la version 3 à l’aide de l’option /unwindv3 dans ml64.exe.
.POPREG est valide uniquement dans Unwind Version 3. C’est l’épilogue équivalent à . PUSHREG.
.POPREG est autorisé uniquement dans une région épilogue, entre . BEGINEPILOG et . ENDEPILOG. Ces directives génèrent des métadonnées de déroulement (.xdata et .pdata des sections) mais ne produisent pas de code exécutable. Dans Unwind Version 3, .POPREG doit apparaître avant l’instruction pop qui implémente la restauration du registre. Pour garantir l’accord, incluez à la fois les directives de déroulement et le code qu’ils sont destinés à décompresser dans une macro.
le registre peut être l’un des suivants :
RAX, RCX, RDX, RBX, RDI, RSI, RBP, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24, R25, R26, R27, R28, R29, R30, R31
Dans Unwind Version 3, les directives d’épilogue sont obligatoires pour la génération de code de déroulement d’épilogue. L’assembleur n’émet pas de codes de déroulement d’épilogue sans .BEGINEPILOG/.ENDEPILOG paire.
Note
Dans Unwind Version 1, la directive apparaît après l’instruction correspondante. Dans Unwind Version 3, la directive apparaît avant l’instruction.
Exemple de déroulement3
; ml64 /unwindv3 ex1.asm /link /entry:Example1 /SUBSYSTEM:CONSOLE
_text SEGMENT
Example1 PROC FRAME
.pushreg rbx
push rbx
.pushreg rsi
push rsi
.endprolog
; rest of function ...
.beginepilog
.popreg rsi
pop rsi
.popreg rbx
pop rbx
.endepilog
ret
Example1 ENDP
_text ENDS
END
Voir aussi
x64 Unwind Version 3 (expérimentale)
Informations de référence sur les directives
. PUSHREG
. POP2REG
. BEGINEPILOG
Grammaire MASM BNF