1

MASM で、マクロ命令を対応するアセンブリ言語命令に変換することはできますか? マクロが実際にどのように動作するかを確認できるように、MASM のマクロ命令を単純なアセンブリ言語命令に変換したいと考えています。

たとえば、これらのマクロ命令を対応するアセンブリ言語命令 (マクロなし) に変換したいと思います。

.if(x > 5)
    mov eax, x
.else
    mov ebx, x
.endif
4

1 に答える 1

2

提案された500-InternalServerError のように「リストを生成する」ことを提案するつもりでしたが、検証した後、それは機能しません。リストには、MASM によって生成された命令ではなく、ユーザーの命令のみが含まれています。何が機能するかは次のとおりです。

1) デバッグ情報を使用してアセンブルします。

ml /c /Zi file.asm

2) dumpbin(または別の逆アセンブラー) で逆アセンブルします。

dumpbin /disasm file.obj

上記の例では、以下が生成されます。

$$000000:
  00000000: 83 3D 00 00 00 00  cmp         dword ptr [x],5
            05
  00000007: 76 04              jbe         @C0001
  00000009: 8B C2              mov         eax,edx
  0000000B: EB 02              jmp         @C0003
@C0001:
  0000000D: 8B DA              mov         ebx,edx
于 2013-03-12T19:04:54.187 に答える