【问题标题】:Where can I find documentation on assembler?我在哪里可以找到有关汇编程序的文档?
【发布时间】:2010-05-20 12:00:57
【问题描述】:

我编写了一个非常短的程序,它使用 python 解析“程序”并将其转换为汇编程序,允许我将我的小型编程语言编译为可执行文件。

您可以阅读我的博客以获取更多信息http://spiceycurry.blogspot.com/2010/05/simple-compilable-programming-language.html

我的问题是...我在哪里可以找到更多内核命令,以便我可以在上述博客中进一步扩展我的脚本?

【问题讨论】:

    标签: python compiler-construction assembly ld gnu-assembler


    【解决方案1】:

    我宁愿推荐使用LLVM:

    • 它让您不必为寄存器分配等低级细节而烦恼(您只提供 SSA 表单)
    • 它会为您进行优化。正如 GHC 中的 LLVM 管道所展示的那样,它可以比手写且经过良好优化的编译器更快(在开始时 - 在进行大量优化之前,它的性能与成熟的本机代码生成器相同或更好)。
    • 它是跨平台的 - 您不必拘泥于例如 x86

    我不太清楚你所说的“内核”命令是什么意思。如果你的意思是操作码:

    • Intel manuals
    • 维基百科页面包含所有记录在案的记忆法(但不是操作码,也不是描述)
    • NASM manual

    但是 ARM 或 PowerPC 的操作码完全不同。

    如果你的意思是操作系统系统调用(系统调用)那么:

    • 您可以只使用 C 库。它存在于每个操作系统中并且是跨平台的。
    • 您可以直接使用系统调用。但是它们更难使用,可能更慢(libc 可能使用额外的缓冲)并且不是跨平台的(Linux syscalls on x86 - 可能不是最新的)。

    【讨论】:

      猜你喜欢
      • 2011-01-10
      • 1970-01-01
      • 1970-01-01
      • 2015-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-16
      • 2012-02-27
      相关资源
      最近更新 更多