マクロなしでWindowsアセンブリプログラムを作成しています。そこで、マクロを使用していたプログラムをダウンロードし、これを「純粋な」アセンブリコードに変換しています。
しかし、私はここで1つの問題に直面しています。わからないレーベル@@:
と、わからなかったジャンプjne @F
があります。これらの2つのシンボルは何ですか?
MyWndProc:
push ebp
mov ebp, esp
cmp DWORD PTR [ebp+12], 2 ;WM_DESTROY=2
jne @F
push ecx
push NULL
mov dword ptr ecx, 7e42ca5ah ;address of PostQuitMessage
call ecx
pop ecx
@@:
push DWORD PTR [ebp+20]
push DWORD PTR [ebp+16]
push DWORD PTR [ebp+12]
push DWORD PTR [ebp+8]
call DefWindowProc
;mov dword ptr edx, 7e42c17eh
;call edx
leave
ret 16
また、PostQuitMessage
APIの場合、メモリアドレスをハードコーディングすることもできます(WinXP 32ビットSP3英語の場合)が、DefWindowProc
コンパイルするため、実行時に壊れます。誰かが理由を知っていますか?
サポート担当者に感謝します。
PS:私はmasm32を使用しています