共用方式為


程序

呼叫程序區塊的開始與結束標記標籤。 在區塊中的陳述式也可以呼叫呼叫 指令或 叫用指示詞。

label PROC [[distance]] [[langtype]] [[visibility]] [[<prologuearg>]] 
   [[USES reglist]] [[, parameter [[:tag]]]]...
   [FRAME [:ehandler-address] ]
   statements
   label ENDP

備註

框架 [:ehandler 位址] 只有不適用於 ml64.exe,且會導致 MASM 產生函式表項目中的.pdata 和回溯資訊在.xdata 中的函式的結構化例外處理的回溯行為。

框架屬性,則必須跟隨著.ENDPROLOG指示詞。

請參閱MASM x64 (ml64.exe)如需有關使用 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

上述程式碼會發出下列函式表,並回溯資訊:

FileHeader->Machine 34404
Dumping Unwind Information for file ex2.exe

.pdata entry 1 0x00001000 0x00001023

  Unwind data: 0x00002000

    Unwind version: 1
    Unwind Flags: None
    Size of prologue: 0x08
    Count of codes: 3
    Frame register: rbp
    Frame offset: 0x0
    Unwind codes:

      Code offset: 0x08, SET_FPREG, register=rbp, offset=0x00
      Code offset: 0x05, ALLOC_SMALL, size=0x10
      Code offset: 0x01, PUSH_NONVOL, register=rbp

請參閱

其他資源

指示詞參考