深入探索ARM汇编语言编程:从基础到“Hello World”实践
1. ARM汇编基础
ARM汇编语言编程涉及诸多基础概念,这些概念对于理解后续的程序编写至关重要。
- 寄存器与指令 :每个寄存器由3位指定,可使用R0 - R7寄存器。若要操作如SP等其他寄存器,会有特定的操作码,无需指定寄存器。在A系列汇编语言中,部分指令执行时会设置CPSR,而M系列汇编语言无法控制CPSR的设置,通常省略“S”,但汇编器均可处理。此外,A系列有ADD.N(16位编码)和ADD.W(32位编码)之分,M系列仅支持ADD.N,无需特别指定。
- 指令执行周期 :正常运行时,每条指令一个时钟周期。单独的指令需三个时钟周期,分别用于从内存加载指令、解码指令和执行指令。ARM CPU采用指令流水线技术,可同时处理三条处于不同阶段的指令,线性指令块平均每条指令一个时钟周期。
2. RP2040内存
RP2040拥有264KB的内存,程序从Pico的闪存存储加载到内存中执行,内存用于存放程序及其相关的数据和变量。
- CPU寄存器与指令大小 :CPU寄存器为32位,用于内存寻址和整数运算,因此内存地址也是32位,这就是RP2040被称为32位处理器的原因。而指令大多为16位,这是为了减少内存使用并简化CPU处理。
- 内存加载问题 :当要从32位内存地址加载寄存器时,由于指令只有16位,且大部分位已用于指定操作码和寄存器,这成为一个挑战。在CISC计算机中,因指令通常较大且长度可变,此问题并不存在。可通过寄存器
超级会员免费看
订阅专栏 解锁全文
73

被折叠的 条评论
为什么被折叠?



