Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Genererar en UWOP_PUSH_MACHFRAME avspolningskodpost. Om du anger det valfria KOD-nyckelordet får kodposten varva ned en modifierare på 1. Annars är modifieraren 0.
Syntax
.PUSHFRAME⟦CODE⟧ ;P rior för att varva ned version 3.PUSHFRAME⟦CODE⟧ | [0-255] ; Varva ned version 3
Anmärkningar
Använd .PUSHFRAME med ml64.exe för att ange hur en ramfunktion avrundas. Du kan bara använda den i prologen, som sträcker sig från PROC-deklarationenFRAME till . ENDPROLOG-direktivet .
- Dessa direktiv genererar varva ned metadata (
.xdataoch.pdataavsnitt) men producerar inte körbar kod. -
.PUSHFRAMEFöregå med de instruktioner som implementerar de åtgärder som ska ångras. - För att säkerställa en överenskommelse omsluter du både avaktiveringsdirektiven och den kod som de är avsedda att varva ned i ett makro.
Varva ned version 3-beteende
Important
Stöd för att varva ned version 3 är experimentellt och kan komma att ändras. Aktivera det med hjälp ml64.exe /unwindv3av .
I Varva ned version 3 .PUSHFRAME avger du en WOD_PUSH_CANONICAL_FRAME avspolningskodpost.
När du anger det valfria KOD-nyckelordet är värdet för avrullningskodsmodifieraren 1.
Om du anger ett valfritt värde använder direktivet det direkt.
Om du inte skickar ett argument är värdet 0.
Värdet måste ligga i intervallet 0–255.
Observera: I Varva ned version 1 kommer direktiven efter instruktionen. I Varva ned version 3 kommer direktiven före instruktionen.
.PUSHFRAMEmåste visas före instruktionen som beskrivs. Det här beteendet är motsatsen till version 1, där direktivet följer instruktionen.
Exempel på avspolning 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
Motsvarigheten till epilogen är . POPFRAME.
Se även
x64 Varva ned version 3 (experimentell)
Referens för direktiv
. POPFRAME
MASM BNF-grammatik
MASM för x64 (ml64.exe)