C 源代码、Watcom 编译器和EMU8086



如何让Watcom编译器(在64位主机上运行的分支版本2.0测试版(在ASM文件中输出8086汇编源代码?从命令提示符运行wcc -0 main.c只会生成 OBJ 文件。

作为旁注,我的主要任务是将 C 源代码转换为我可以使用EMU8086运行的汇编代码(而不是编写实际的汇编代码(。我希望Watcom生成的ASM文件能够在EMU8086中无需修改(复制粘贴(即可运行。

我没有看到让 Watcom 编译器直接生成 ASM 文件的方法,但您应该能够使用 Watcom 反汇编器 (wdis( 从编译器生成的目标文件生成程序集列表。 在这种情况下,您将运行类似wdis -l main的内容来读取main.obj并生成一个名为main.lst的文件,其中包含汇编语言列表。

如果使用-d1-d2选项重新编译 main.c,以将额外的调试数据放入 main.obj 文件中,则可以使用反汇编程序的-s选项让汇编语言列表穿插显示来自main.c的原始 C 源代码的注释。

要让反汇编程序省略描述性注释,而只给出一个应该可以作为 Watcom 汇编程序的源文件的普通反汇编,请为反汇编程序提供-a选项。 此选项还会导致反汇编程序的输出写入main.asm而不是main.lst。 抱歉,我不知道此输出是否会被EMU8086直接使用。

这在 Open Watcom C/C++ 用户指南和C/C++ Tools 用户指南中都有讨论 http://www.openwatcom.com/doc.php

相关内容

  • 没有找到相关文章

最新更新