エピローグ アンワインド領域の末尾をマークします。 このディレクティブは、Windowsアンワインド データ (WOD) アンワインド コードを出力しません。
構文
.ENDEPILOG
注釈
Important
このディレクティブは試験段階であり、変更される可能性があります。
ml64.exe /unwindv3を使用してアンワインド バージョン 3 を有効にします。
.ENDEPILOG はアンワインド バージョン 3 でのみ有効です。
- によって開始されたエピローグ領域の終わりをマークします 。BEGINEPILOG。
- これらのディレクティブはアンワインド メタデータ (
.xdataセクションと.pdataセクション) を生成しますが、実行可能コードは生成しません。 - エピローグには、少なくとも 1 つのディレクティブを含める必要があります。
- エピローグ アンワインド コードの生成には、エピローグ ディレクティブが必須です。 エピローグ アンワインド コードは、
.BEGINEPILOG/.ENDEPILOGペアなしで出力されません。 - 間の領域の外側でエピローグ ディレクティブを使用するとエラーになります 。BEGINEPILOG および .ENDEPILOG。
Note
アンワインド バージョン 1 では、対応する命令の後にディレクティブが表示されます。 アンワインド バージョン 3 では、命令の 前 にディレクティブが表示されます。
Example
; ml64 /unwindv3 ex1.asm /link /entry:Example1 /SUBSYSTEM:CONSOLE
_text SEGMENT
Example1 PROC FRAME
.allocstack 16
sub rsp, 16
.endprolog
; function body
.beginepilog
.freestack 16
add rsp, 16
.endepilog
ret
Example1 ENDP
_text ENDS
END
こちらも参照ください
x64 アンワインド バージョン 3 (試験段階)
ディレクティブ リファレンス
.BEGINEPILOG
.ENDPROLOG
MASM BNF 文法