代码之家  ›  专栏  ›  技术社区  ›  Alex F

Linux程序集参考

  •  1
  • Alex F  · 技术社区  · 14 年前

    我正在读“专业汇编语言”这本书,里面有为英特尔IA-32处理器编写的示例代码。使用的汇编器是GNU汇编器。在哪里可以找到此程序集引用?例如,为Windows编写汇编,我可以在Intel网站上找到参考资料。Linux和GNU汇编程序呢?

    4 回复  |  直到 14 年前
        1
  •  1
  •   ChrisW    14 年前

    维基百科引用了以下内容: http://sourceware.org/binutils/docs-2.20/as/

        2
  •  2
  •   Aaron Digulla    14 年前

    汇编程序只依赖于CPU,而不依赖于OS。所以英特尔那边的文件就是你要找的。

    如果要调用OS函数,必须阅读编译器ABI文档(其中解释了如何传递参数以及如何处理返回值)。另外,您还需要一个函数列表,您可以在Linux工具箱的手册页中找到这些函数。

    gcc -S file.c 而不是 gcc -c file.c .

        4
  •  0
  •   xeon111    14 年前

    如果您正在使用一本有关英特尔IA 32的书,那么您应该尝试从英特尔网站获取指令集手册 http://developer.intel.com/products/processor/manuals/index.htm 我想你会把这个作为一个完整的指导参考。

    另外,如果linux和windows安装在同一个体系结构上,那么它们的汇编语言参考将是相同的,因为汇编语言依赖于架构。使用如果您使用的是英特尔CPU,请参阅英特尔指令集参考。

    对于汇编程序的语法,您应该检查gnu的手册

    http://sourceware.org/binutils/docs-2.20/as/