特点:
- 所有运算处理都是发生在通用寄存器(一般是R0~R14)之中.
所有存储器空间(如:C语言变量的本质就是一个存储器空间上的几个BYTE)值的处理,都是要传送到通用寄存器来完成,因此在代码中可以看到大量的LDR,STR指令来传送值. - ARM汇编语句中,语句很多时候要隐含地使用上一句的执行结果,而且上一句的执行结果是放在CPSR寄存器里(例如:进位、为0、为负…)
举例:
注释:BNE隐含的使用上一句CMP执行结果,NE后缀表示使用Z标志位,两句合起来的意思就是:如果R0,R1的值不相等,就跳转到NoMatch处执行.CMP R0,R1 BNE NoMatch
注意:PC=R15,CPSR=R16