2011-06-04 214 views
7

我一直在寻找一个信息,似乎无法找到它,也许你们可以给我一只手。这是一个简单的问题:如何使用GCC将C代码编译为8088汇编?

  • 如何使用GCC将C代码编译为8088汇编?

我正在编写一个8088程序集中的小程序,想知道编译器是如何做的,这真的很棒。

谢谢!

+2

标题说,8088和标签说8086哪一个你需要? – 2011-06-04 14:40:10

+0

我目前还不能创建标签,而8086是唯一可用的标签。另外,是不是8086/8088是同一个家族?我不认为这会改变程序集生成的代码。或者我错了? – 2011-06-04 14:42:37

+0

你为什么不问你的老师? – 2011-06-04 14:49:16

回答

1

有DJGPP的16位版本(基于GCC),这被认为是能够产生88分之8086代码here

+0

那么,为了关闭这个话题,我会接受当前版本的gcc **不生成8086/88汇编代码,我唯一的选择是使用_djgpp plugin_或_other编译器_就像你们许多人建议的那样。尽管首先告诉我关于_djgpp_的插件是** @ pmg **,但我将_this_标记为接受的答案,因为我不能标记他的。感谢所有帮助过我的人!祝大家有个美好的一天! – 2011-06-05 17:52:55

2

-S标志产生汇编输出,虽然不是这些天为8088

gcc -S myfile.c 

的输出将是在myfile.s的。

+0

我知道,我知道,但我的老师告诉我,我可以用gcc生成8088汇编,这正是我需要的。一个代码仅与16位寄存器一起工作,并且仅限于8086/8088系列处理器。 – 2011-06-04 14:44:55

+2

@BeOliveira很明显,你应该问你的老师如何去做 - 这就是他们得到的报酬。 – 2011-06-04 14:46:46

+0

嗯,是的,但这是一个周末,我不能联系他,仍然需要这样做。另外,我问你们,希望有人能帮助我。 – 2011-06-04 14:49:16

2

GCC允许使用-mtune = cpu-arch指定目标机器架构,但它现在不支持i8088。支持的体系结构是i386和更新的体系结构。

+3

'-mtune'只会优化,'-march'就是你所说的。 – rubenvb 2011-06-05 14:16:51

2

如果您可以考虑其他编译器,总是有OpenWatcom,它既是开源的,也会生成16位代码。

+0

是的,我可以考虑其他编译器,一定会看看_OpenWatcom_。非常感谢你对这个提示! – 2011-06-05 17:55:31