编写ARM汇编代码


Answers:


19

取决于要编写多少汇编程序。如果您只想编写嵌入在C代码中的小片段,那gcc确实不是您想要的。有关如何asm在C中使用指令的示例,请参见以下网址的内联汇编参考:《ARM GCC内联汇编程序手册》

另一方面,如果您要编写的不仅仅是小片段,则比使用完整的汇编程序更好。这将作为两种asgas或两者(化名)。

最后,您需要学习一些有关ARM指令集的知识。在以下位置有一个方便的参考:ARM1176JZF-S技术参考手册

注意:请记住什么RPi仅支持armv6指令-因此请勿尝试使用armv7中的任何内容

祝好运!!:)


4

我本人不久前就开始使用ARM汇编代码进行冒险,这是我的资源:

  • 剑桥大学在这里发布了一套非常不错的教程:《 烘烤皮》。它包括您自己的操作系统的模板,每个教程的完整代码示例以及有关如何构建和运行代码的所有说明。
  • 此外,这本厚重的书应该涵盖所有基础:《 ARM系统开发人员指南》

3

尽管我对命令行界面非常满意,但我无法抗拒GUI的便利性。不久前,我发现我可以使用CodeBlocks IDE在Raspberry Pi中开发ARM汇编语言程序。因此,我编写了一个教程,并将其附加到我为Mazidi ARM Assembly本书网站编写的Raspberry Pi汇编编程教程中:

http://www.microdigitaled.com/ARM/ARM_ASM_books.htm

在网站上,单击链接“使用Raspberry Pi GUI进行ARM装配编程”。

希望这可以帮助。


1

默认情况下已安装GCC。如果您是Raspberry Pi的新手,我建议您使用比ARM汇编更简单的编程语言。没有用于组装的任何IDE,因此您必须使用文本编辑器并通过终端对其进行组装。我建议使用Gedit以便于使用。尽管要突出显示程序集的语法,但我必须转到github,特别是Shinyquagsire23的页面。非常漂亮 寻求帮助我找到的最好的资源是Bruce Smith的“ Raspberry Pi汇编语言:Raspbian初学者”。您可以在亚马逊上找到它。他以我发现的最清晰,最简单的方式之一来解释组装。


1

通过可运行的示例学习

我正在研究:https : //github.com/cirosantilli/arm-assembly-cheat

特征:

  • 完全相同的程序集可以在具有QEMU用户模式的Linux主机上运行,​​因此您可以在Pi上原生之前在主机上更快地进行尝试
  • 涵盖了ARMv7和ARMv8
  • 开箱即用的良好GDB设置,无论是在主机上还是在本机上
  • 断言在失败的地方显示装配线编号
  • 使用用于IO C标准库,这使得它在OS理论便携的,并允许容易地像重用糖果printfmemcpy
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.