We don’t allow questions seeking recommendations for software libraries, tutorials, tools, books, or other off-site resources. You can edit the question so it can be answered with facts and citations.
Closed 9 years ago.
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
查看 FreeDOS 项目。他们拥有开发人员工具,其中包括编译器、汇编器和链接器。不过,您可能需要修改标准库,以便它使用 BIOS 调用而不是 int 21h。
Check out the FreeDOS project. They have developer tools that include compilers, assemblers, and linkers. You'll probably have to modify the standard library, though, so that it uses BIOS calls rather than int 21h.
16位编译器?这里提到了其中的几个:
Is there a C compiler that Targets 8086 ?
一般来说,它们用于学术练习,所以如果你的目标是教育机构,你也可以找到很多例子:
http://www.google.com.sg/search? q=site%3Aedu+C+编译器+8086
16-bit compilers? Several of them are mentioned here:
Is there a C compiler that targets the 8086?
Generally they are used for academic exercises, so if u target at educational institution you can find lots of examples too:
http://www.google.com.sg/search?q=site%3Aedu+C+compiler+8086
在之前的工作中,我们有一个基于 uc/OS 的项目,在实模式 x86 平台上运行。我们使用 TopSpeed C,而不是更知名的 Borland 或 Microsoft 编译器,因为 TopSpeed C 是当时唯一一个可用且可行的、具有
易失性
正确的编译器。构建 uc/OS 时您非常需要它。 Turbo C 和 Microsoft C(我认为它的 QuickC 也是如此)都错误编译了对 易失性 变量的访问 - 通常是在寄存器中缓存值以及类似的破坏。不过,您很难获得 TopSpeed C。它的汇编语法是......独特的。 (我认为它基于 Modula-2 或其他东西;它最终与你可能熟悉 100 倍的 MASM/TASM/nasm 非常不同。)
At a former job we had a project that was based on uc/OS running on a real-mode x86 platform. We used TopSpeed C rather than the more well-known Borland or Microsoft compilers, because TopSpeed C was the only one of the set available and viable at the time that got
volatile
right. Which you dearly need when building uc/OS. Both Turbo C and Microsoft C (and I think its QuickC too) miscompiled accesses tovolatile
variables - typically caching values in registers and similar breakage.You'd have a hard time getting hold of TopSpeed C, though. And its assembler syntax is... unique. (I think it's based on Modula-2 or something; it ends up being very unlike MASM/TASM/nasm with which you may be 100 times more familiar.)
查看任何引导加载程序项目,例如 GRUB。很明显,他们也需要您提到的一切。
Check out any bootloader project, such as GRUB. It should be readily apparent that they also need everything you mentioned.