【发布时间】:2011-02-11 06:59:11
【问题描述】:
我正在编写一个编译器,并且我已经完成了它们在所有编译器书籍中向您展示的所有步骤(标记化、解析、语法树结构等)。 (请不要评论“编写编译器的资源”问题的链接!)。
我选择使用 NASM 和 alink 作为我的后端。
现在我的问题是:我找不到任何学习 NASM 和一般汇编的好资源。
关于 x86 汇编的 wikibook(德语)可怕。他们甚至没有解释他们在那里编写的代码,我目前什至无法得到简单的东西,比如将 1 加到 2 并输出结果。
- 在哪里可以学习 NASM x86 汇编?
【问题讨论】:
-
编译器没有理由输出汇编程序。让它输出您熟悉的语言,例如 C,然后使用 C(或其他)编译器生成最终的可执行文件。
-
您的问题更像是“我在哪里可以学习 NASM x86 汇编?”正如你自己所说。请选择一个更好的主题,因为它与编译器完全无关。你考虑过 llvm 吗?
-
对于奖励积分,请以正在编译的相同语言输出您的代码。然后编译。
-
@Neil:我对只翻译成 C 感到不舒服。我宁愿完全控制和优化我的语言,而不受其他编译器的限制。
-
@X A 编写您的 C 编译器的人可能比您更了解优化 - 您可以利用他们的专业知识。过去使用高级语言作为编译器输出已经成功完成了很多次。