Sdílet prostřednictvím


.PUSHREG

Vygeneruje UWOP_PUSH_NONVOL položku odvinutí kódu pro zadané číslo registru pomocí aktuálního posunu v prologue.

Syntaxe

. REGISTRACE PUSHREG

Poznámky

. PUSHREG umožňuje ml64.exe uživatelům určit, jak se funkce rámce odvíjeje a je povolena pouze v rámci prologue, která se rozšiřuje z deklarace PROC FRAME na . ENDPROLOG – direktiva. Tyto direktivy negenerují kód; pouze generují .xdata a .pdata. . FUNKCE PUSHREG by měla předcházet pokynům, které skutečně implementují akce, které se mají zrušit. Je vhodné zabalit direktivy unwind i kód, který mají v makru uvolnit, aby se zajistila smlouva.

může být jedním z těchto:
RAX | RCX | RDX | RBX | RDI | RSI | RBP | R8 | R9 | R10 | R11 | R12 | R13 | R14 | R15.

Další informace najdete v masm pro platformu x64 (ml64.exe).

Vzorek

Popis

Následující ukázka ukazuje, jak nasdílit nevolatilní registry.

Kód

; ml64 ex1.asm /link /entry:Example1 /SUBSYSTEM:CONSOLE
_text SEGMENT
Example1 PROC FRAME
   push r10
.pushreg r10
   push r15
.pushreg r15
   push rbx
.pushreg rbx
   push rsi
.pushreg rsi
.endprolog
   ; rest of function ...
   ret
Example1 ENDP
_text ENDS
END

Viz také

Odkaz na direktivy
Gramatika MASM BNF