Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Vygeneruje pro zadaný pár registru položku pro uvolnění kódu se dvěma registracemi pomocí aktuálního posunu v prologue.
Syntax
.PUSH2REGregister1, register2
Parametry
register1
První registrace, která se má nasdílit. Musí to být 64bitový registr pro obecné účely.
register2
Druhá registrace, která se má nasdílit. Musí to být 64bitový registr pro obecné účely.
register1 a register2 mohou být jedna z těchto možností:
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.
Remarks
Important
Tato direktiva je experimentální a může se změnit. Povolte unwind verze 3 pomocí .ml64.exe /unwindv3
- Slouží
.PUSH2REGk určení, jak se funkce rámce odvíje. Tuto směrnici lze použít pouze v rámci prologue, která se vztahuje z prohlášení PROCFRAMEna . ENDPROLOG – direktiva. - Tyto direktivy generují metadata unwind (
.xdataa.pdataoddíly), ale nevytvářely spustitelný kód. Ve verzi Unwind verze 3 musí být zobrazena před pokynem,.PUSH2REGkterý skutečně implementuje akci, která má být unwound. Pokud chcete zajistit dohodu, je vhodné zabalit direktivy unwind i kód, který mají v makru uvolnit. - Pokud jsou registry1 a register2 po sobě jdoucí a v rostoucím pořadí, MASM vygeneruje
WOD_PUSH_CONSECUTIVE_2odvíjecí kód. V opačném případě MASM vygenerujeWOD_PUSH2odvíjecí kód.
Note
Ve verzi Unwind verze 1 se direktiva zobrazí za odpovídající instrukcí. Ve verzi Unwind verze 3 se direktiva zobrazí před pokynem.
Příklad pro unwindv3
; 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
Viz také
x64 Unwind verze 3 (experimentální)
Referenční dokumentace direktiv
. POP2REG
. PUSHREG
. ENDPROLOG
Gramatika MASM BNF