目录
ARM反汇编
ARM处理器
ARM 处理器一般有37个寄存器,其中包括:
- 31个通用寄存器,包括PC(程序计数器)在内,都是32位寄存器
- 6个状态寄存器,都是32位的寄存器
ARM处理器有7种不同的处理器模式:
- User:用户模式
- FIQ:快速中断模式
- IRQ:普通中断模式
- Svc:管理模式
- Abort:数据访问中止模式
- Und:未定义指令中止模式
- Sys:系统模式
在任意一种处理器模式下,可见寄存器一般为15个通用寄存器,编号为R0~R15。
- R0~R3主要用于子程序间传递参数
- R4~R11主要用于保存局部变量,但在Thumb程序中,通常只能使用R4~R7来保存局部变量
- R12用作子程序间scratch寄存器,即ip寄存器
- R13通常用作栈指针,即sp
- R14寄存器又被称为连接寄存器LR,用于保存子程序以及中断的返回地址
- R15又称为PC(程序计数器),用于ARM架构的指令预读,在实际运行时PC寄存器并不指向当前执行的指令,而是指向当前指令地址加8处