在 MASM 中,是否可以将宏指令转换为相应的汇编语言指令?我想将 MASM 的宏指令转换为普通的汇编语言指令,这样我就可以看到宏实际上是如何工作的。
例如,我想将这些宏指令转换为相应的汇编语言指令(不带宏):
.if(x > 5)
mov eax, x
.else
mov ebx, x
.endif
我打算建议像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