.PUSHREG
Prologue'daki geçerli uzaklığı kullanarak belirtilen yazmaç numarası için bir UWOP_PUSH_NONVOL
geri sarma kodu girişi oluşturur.
Sözdizimi
. PUSHREG yazmaç
Açıklamalar
. PUSHREG, ml64.exe kullanıcıların bir çerçeve işlevinin nasıl geri sarılacağını belirtmesine olanak tanır ve yalnızca PROC FRAME bildiriminden öğesine genişletilen prolog içinde izin verilir. ENDPROLOG yönergesi. Bu yönergeler kod oluşturmaz; yalnızca ve .pdata
oluştururlar.xdata
. . PUSHREG , kaldırılacak eylemleri uygulayan yönergelerden önce gelmelidir. Sözleşmeyi güvence altına almak için hem unwind yönergelerini hem de bir makroda geri sarmayı amaçladıkları kodu sarmak iyi bir uygulamadır.
register şu durumlardan biri olabilir:
RAX | RCX | RDX | RBX | RDI | RSI | RBP | R8 | R9 | R10 | R11 | R12 | R13 | R14 | R15.
Daha fazla bilgi için bkz. x64 için MASM (ml64.exe).
Örnek
Açıklama
Aşağıdaki örnek geçici olmayan yazmaçların nasıl gönder yapılacağını gösterir.
Kod
; 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