1
在MASM中,是否可以将宏指令转换为相应的汇编语言指令?我想将MASM的宏指令转换为纯汇编语言指令,以便我可以看到宏如何实际工作。将汇编语言宏转换为纯汇编语言
例如,我想这些宏指令转换为对应的汇编语言指令(不含宏):
.if(x > 5)
mov eax, x
.else
mov ebx, x
.endif
在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
当然,最简单的方法是实际上让MASM组装文件并让它生成一个输出列表。我忘记了如何做到这一点 - 我多年以来没有使用过MASM--但我知道那里曾经有一个命令行开关来生成输出列表。 – 2013-03-12 18:46:56