Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Generiert einen WOD_PUSH Entspanncodeeintrag für das angegebene Register mithilfe des aktuellen Offsets im Epilog.
Syntax
. POPREG-Register
Parameter
Registrieren
Das Register, das eingeblendt werden soll. Muss ein allgemeines 64-Bit-Register sein.
Hinweise
Important
Diese Richtlinie ist experimentell und kann geändert werden. Aktivieren Sie Version 3 mit der /unwindv3 Option in ml64.exe.
.POPREG ist nur in Version 3 zum Entspannen gültig. Es ist das Epilog-Gegenstück zu . PUSHREG.
.POPREG ist nur innerhalb einer Epilogregion zwischen . BEGINEPILOG und . ENDEPILOG. Diese Direktiven generieren entwendige Metadaten (.xdata und .pdata Abschnitte), erzeugen jedoch keinen ausführbaren Code. In "Abwickeln" Version 3 muss vor der pop Anweisung, die die Registerwiederherstellung implementiert, .POPREG angezeigt werden. Um eine Vereinbarung zu gewährleisten, schließen Sie sowohl die Entleer-Direktiven als auch den Code ein, den sie in einem Makro entspannen sollen.
Das Register kann eine der folgenden Sein:
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
In "Relax Version 3" sind Epilogdirektiven für die Codegenerierung von Epilogen obligatorisch. Der Assembler gibt keine epilogen Entspanncodes ohne Paar .BEGINEPILOG/.ENDEPILOG aus.
Note
In Der Version 1 wird die Direktive nach der entsprechenden Anweisung angezeigt. In Der Version 3 wird die Direktive vor der Anweisung angezeigt.
Beispiel für die Entspannung 3
; 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
Siehe auch
x64 Entspannen Version 3 (experimentell)
Direktivenreferenz
. PUSHREG
. POP2REG
. BEGINEPILOG
MASM BNF Grammatik