
[David] 正在用 OLED、键盘和 RP2040 开发一个项目。他已经用 C 语言完善了一个扫描例程,以便与键盘配合使用,但仍有一些地方想使用更底层的指令。这是一个很好的借口,可以在 C 程序中尝试内联汇编语言。
目标是抓取键盘输入并将其存入内存地址寄存器,以便该地址的数据能够显示在显示屏上。然而,这其中存在一个复杂因素,因为此类内存访问必须进行字对齐。
当然,您可以屏蔽地址的低位,进行读取,然后设置索引来选择特定的字节,但汇编很容易,而且无论如何,知道如何将其放入代码中也是很好的。
[David] 只需要一条用于字节访问的指令,所以就汇编嵌入而言,这相当简单。我们也为Linux做过类似的事情,当然,这里的 Arm 汇编语言与我们使用的有所不同。
你可能不需要每个项目都用到汇编。但当你需要的时候,知道如何使用它总是好的。现在很多人认为你不需要学习汇编,但我们大多不这么认为。
原文: https://hackaday.com/2025/08/24/rp2040-assembly-language-mix-and-match/