.PUSHFRAME

해제 코드 항목을 생성합니다 UWOP_PUSH_MACHFRAME . 선택적 CODE 키워드를 지정하는 경우 해제 코드 항목은 1의 한정자를 가져옵니다. 그렇지 않으면 한정자는 0입니다.

구문

.PUSHFRAMECODE⟧ ;P언드 버전 3 .PUSHFRAMECODE⟧ | [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)