해제 코드 항목을 생성합니다 UWOP_PUSH_MACHFRAME . 선택적 CODE 키워드를 지정하는 경우 해제 코드 항목은 1의 한정자를 가져옵니다. 그렇지 않으면 한정자는 0입니다.
구문
.PUSHFRAME⟦CODE⟧ ;P언드 버전 3.PUSHFRAME⟦CODE⟧ | [0-255] ; Unwind Version 3 specific
설명
ml64.exe 프레임 함수의 해제 방법을 지정하는 데 사용합니다.PUSHFRAME.
PROCFRAME 선언에서 .로 확장되는 프롤로그 내에서만 사용할 수 있습니다. ENDPROLOG 지시문입니다.
- 이러한 지시문은 해제 메타데이터(
.xdata및.pdata섹션)를 생성하지만 실행 코드를 생성하지는 않습니다. -
.PUSHFRAME해제할 작업을 구현하는 지침이 앞에 섰습니다. - 규약을 보장하려면 해제 지시문과 매크로에서 해제하려는 코드를 모두 래핑합니다.
버전 3 해제 동작
Important
해제 버전 3 지원은 실험적이며 변경될 수 있습니다. 를 사용하여 ml64.exe /unwindv3사용하도록 설정합니다.
해제 버전 3 .PUSHFRAME 에서 해제 코드 항목을 내보낸 WOD_PUSH_CANONICAL_FRAME 다.
선택적 CODE 키워드를 지정하면 해제 코드 항목 한정자 값은 1입니다.
선택적 값을 지정하는 경우 지시문에서 직접 사용합니다.
인수를 전달하지 않으면 값은 0입니다.
값은 0~255 범위여야 합니다.
참고: Unwind 버전 1에서 지시문은 명령 후에 제공됩니다. Unwind 버전 3에서 지시문은 명령 앞에 옵니다.
.PUSHFRAME은 설명한 명령 앞에 나타나야 합니다. 이 동작은 지시문이 지침을 따르는 버전 1과 반대입니다.
unwindv3의 예
; ml64 /unwindv3 ex1.asm /link /entry:Example1 /SUBSYSTEM:CONSOLE
_text SEGMENT
Example1 PROC FRAME
.pushframe CODE
.endprolog
; interrupt handler body ...
iretq
Example1 ENDP
_text ENDS
END
에필로그 대응입니다 . POPFRAME.
참고 항목
x64 해제 버전 3(실험적)
지시문 참조
. POPFRAME
MASM BNF 문법
x64용 MASM(ml64.exe)