我在哪里可以找到汇编程序的文档?

时间:2010-05-20 12:00:58

标签: python compiler-construction assembly ld gas

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

您可以在此处阅读我的博客,了解更多信息http://spiceycurry.blogspot.com/2010/05/simple-compilable-programming-language.html

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

1 个答案:

答案 0 :(得分:1)

我更愿意使用LLVM

  • 它让您不必担心注册分配等低级细节(您只提供SSA表格)
  • 它为您做了优化。它可以比手写和优化良好的编译器更快,因为GHC中的LLVM管道正在显示(在开始之前 - 在优化之前它具有与成熟本机代码生成器相同或更好的性能)。
  • 这是跨平台的 - 你不要紧张自己,例如x86

我不太确定'kernel'命令是什么意思。如果你的意思是操作码:

  • Intel manuals
  • 维基百科页面包含所有记录的memnonics(但不是操作码,并不总是描述)
  • NASM manual

然而,ARM或PowerPC具有完全不同的操作码。

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

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