gpt4 book ai didi

C 源代码、Watcom 编译器和 EMU8086

转载 作者:太空宇宙 更新时间:2023-11-04 04:17:22 24 4
gpt4 key购买 nike

如何让 Watcom 编译器(在 64 位主机上运行的分支版本 2.0 beta)在 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++ 工具用户指南 中讨论,链接自 http://www.openwatcom.com/doc.php

关于C 源代码、Watcom 编译器和 EMU8086,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50303711/

24 4 0
文章推荐: c - 使用 getchar() 和 putchar() 将 int 与字符串交换
文章推荐: c - 如何按顺序将元素从一个链表移动到另一个链表
文章推荐: c - 错误 : making pointer from integer in C
文章推荐: javascript - 单击以展开
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com