.PUSHREG
UWOP_PUSH_NONVOL
使用序言中的目前位移,為指定的緩存器編號產生回溯程式代碼專案。
語法
.PUSHREG 快取器
備註
.PUSHREG 可ml64.exe使用者指定框架函式回溯的方式,而且只能在序言中允許,該序言會從 PROC FRAME 宣告延伸至 。ENDPROLOG 指示詞。 這些指示詞不會產生程序代碼;它們只會產生 .xdata
和 .pdata
。 .PUSHREG 前面應該有實際實作要解除之動作的指示。 最好包裝回溯指示詞,以及它們打算在巨集中回溯的程序代碼,以確保合約。
register 可能是下列其中一項:
RAX |RCX |RDX |RBX |RDI |RSI |RBP |R8 |R9 |R10 |R11 |R12 |R13 |R14 |R15.
如需詳細資訊,請參閱適用於 x64 的 MASM(ml64.exe)。
範例
描述
下列範例示範如何推送非揮發性緩存器。
程式碼
; 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
另請參閱
意見反映
https://aka.ms/ContentUserFeedback。
即將推出:我們會在 2024 年淘汰 GitHub 問題,並以全新的意見反應系統取代並作為內容意見反應的渠道。 如需更多資訊,請參閱:提交及檢視以下的意見反映: