.PUSHREG
Génère une entrée de code de déroulement d' UWOP_PUSH_NONVOL pour le nombre spécifié de registre à l'aide de l'offset actif en prologue.
.PUSHREG register
Notes
.PUSHREG Permet aux utilisateurs de ml64.exe pour spécifier comment une fonction de frame se déroule, et uniquement autorisé dans le prologue, qui s'étend de la déclaration de FRAME de COMMENT à la directive de .ENDPROLOG .Ces directives ne génèrent pas de code ; ils génèrent uniquement .xdata et .pdata..PUSHREG Doit être précédé de l'instruction qui implémentent réellement les actions devant être déroulé.Il est conseillé d'encapsuler les directives de déroulement et le code qu'ils sont censées les dérouler dans une macro pour garantir le contrat.
Pour plus d'informations, consultez MASM pour ml64.exe (x64).
Exemples
Description
L'exemple suivant montre comment effectuer des tegisters non volatiles.
Code
; 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