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 UWOP_PUSH_MACHFRAME Entspanncodeeintrag. Wenn Sie das optionale CODE-Schlüsselwort angeben, erhält der Abspanncodeeintrag einen Modifizierer von 1. Andernfalls ist der Modifizierer 0.
Syntax
.PUSHFRAME⟦CODE⟧ ;P rior zum Abwickeln der Version 3.PUSHFRAME⟦CODE⟧ | [0-255] ; Abwickeln von Version 3
Hinweise
Verwenden Sie .PUSHFRAME diese ml64.exe Funktion, um anzugeben, wie eine Framefunktion abwickelt. Sie können es nur innerhalb des Prologs verwenden, der sich von der PROC-DeklarationFRAME bis zur . ENDPROLOG-Direktive .
- Diese Direktiven generieren entwendige Metadaten (
.xdataund.pdataAbschnitte), erzeugen jedoch keinen ausführbaren Code. - Stellen Sie vor
.PUSHFRAMEden Anweisungen, mit denen die Aktionen implementiert werden sollen, um sich zu entwunden. - 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.
Verhalten der Version 3 abwickeln
Important
Der Support von Version 3 wird experimentell gelöst und kann geändert werden. Aktivieren Sie es mithilfe von ml64.exe /unwindv3.
In "Relax Version 3" .PUSHFRAME wird ein WOD_PUSH_CANONICAL_FRAME Abspanncodeeintrag ausgegeben.
Wenn Sie das optionale CODE-Schlüsselwort angeben, lautet der Wert des Codeeingabemodifizierers 1.
Wenn Sie einen optionalen Wert angeben, verwendet die Direktive diesen direkt.
Wenn Sie kein Argument übergeben, ist der Wert 0. Der Wert muss sich im Bereich 0 bis 255 befinden.
Hinweis: In Wickeln Version 1 kommen die Direktiven nach der Anweisung. In Der Version 3 entspannen, kommen die Direktiven vor die Anweisung.
.PUSHFRAMEmuss vor der beschriebenen Anweisung angezeigt werden. Dieses Verhalten ist das Gegenteil von Version 1, bei dem die Direktive der Anweisung folgt.
Beispiel für die Entspannung 3
; ml64 /unwindv3 ex1.asm /link /entry:Example1 /SUBSYSTEM:CONSOLE
_text SEGMENT
Example1 PROC FRAME
.pushframe CODE
.endprolog
; interrupt handler body ...
iretq
Example1 ENDP
_text ENDS
END
Das Epilog-Gegenstück ist . POPFRAME.
Siehe auch
x64 Entspannen Version 3 (experimentell)
Direktivenreferenz
. POPFRAME
MASM BNF Grammatik
MASM für x64 (ml64.exe)