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