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 kodpost med två registreringar för att varva ned kod för det angivna registerparet med den aktuella förskjutningen i prologen.
Syntax
.PUSH2REGregister1, register2
Parameters
register1
Det första registret som ska skickas. Måste vara ett allmänt 64-bitarsregister.
register2
Det andra registret som ska skickas. Måste vara ett allmänt 64-bitarsregister.
register1 och register2 kan var och en av följande vara:
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.
Anmärkningar
Important
Detta direktiv är experimentellt och kan komma att ändras. Aktivera Varva ned version 3 med hjälp ml64.exe /unwindv3av .
- Använd
.PUSH2REGför att ange hur en ramfunktion avspolas. Du kan bara använda det här direktivet i prologen, som sträcker sig från PROC-deklarationenFRAMEtill . ENDPROLOG-direktivet . - Dessa direktiv genererar varva ned metadata (
.xdataoch.pdataavsnitt) men producerar inte körbar kod. I Varva ned version 3.PUSH2REGmåste visas före instruktionen som faktiskt implementerar åtgärden för att ångras. För att säkerställa en överenskommelse är det en bra idé att omsluta både avaktiveringsdirektiven och koden som de är avsedda att varva ned i ett makro. - Om register1 och register2 är i följd och i ökande ordning genererar MASM en
WOD_PUSH_CONSECUTIVE_2avspolningskod. Annars genererar MASM enWOD_PUSH2avspolningskod.
Note
I Varva ned version 1 visas direktivet efter motsvarande instruktion. I Varva ned version 3 visas direktivet före instruktionen.
Exempel på avspolning 3
; ml64 /unwindv3 ex1.asm /link /entry:Example1 /SUBSYSTEM:CONSOLE
_text SEGMENT
Example1 PROC FRAME
.push2reg r10, r11
push2 r10, r11
.push2reg rbx, rsi
push2 rbx, rsi
.endprolog
; rest of function ...
ret
Example1 ENDP
_text ENDS
END
Se även
x64 Varva ned version 3 (experimentell)
Referens för direktiv
. POP2REG
. PUSHREG
. ENDPROLOG
MASM BNF-grammatik