2013-03-12 170 views
1

在MASM中,是否可以将宏指令转换为相应的汇编语言指令?我想将MASM的宏指令转换为纯汇编语言指令,以便我可以看到宏如何实际工作。将汇编语言宏转换为纯汇编语言

例如,我想这些宏指令转换为对应的汇编语言指令(不含宏):

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

当然,最简单的方法是实际上让MASM组装文件并让它生成一个输出列表。我忘记了如何做到这一点 - 我多年以来没有使用过MASM--但我知道那里曾经有一个命令行开关来生成输出列表。 – 2013-03-12 18:46:56

回答

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