Assembly 将汇编语言宏转换为普通汇编语言
在MASM中,是否可以将宏指令转换为相应的汇编语言指令?我想把MASM的宏指令转换成普通的汇编语言指令,这样我就可以看到宏实际上是如何工作的 例如,我想将这些宏指令转换为相应的汇编语言指令(不带宏): 我本来打算建议像proposed那样“生成一个列表”,但在验证之后,这是行不通的——该列表只包含您的指令,而不包含MASM生成的指令。工作原理如下: 1) 使用调试信息组装:Assembly 将汇编语言宏转换为普通汇编语言,assembly,macros,masm,Assembly,Macros,Masm,在MASM中,是否可以将宏指令转换为相应的汇编语言指令?我想把MASM的宏指令转换成普通的汇编语言指令,这样我就可以看到宏实际上是如何工作的 例如,我想将这些宏指令转换为相应的汇编语言指令(不带宏): 我本来打算建议像proposed那样“生成一个列表”,但在验证之后,这是行不通的——该列表只包含您的指令,而不包含MASM生成的指令。工作原理如下: 1) 使用调试信息组装: ml /c /Zi file.asm 2) 使用dumpbin(或其他反汇编程序)进行反汇编: 对于上面的示例,它生成:
ml /c /Zi file.asm
2) 使用dumpbin
(或其他反汇编程序)进行反汇编:
对于上面的示例,它生成:
$$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了——但我知道曾经有一个命令行开关来生成输出列表。
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