ARM寄存器

汇编:

芯片,高级语言的逆向,中间语言

分析和修改汇编指令:

赋值、跳转、算术运算、移位运算、堆栈操作、内存读写指令、函数调用约定
* Thumb   16、  常见
* Thumb2 32、后来出的
* ARM 32   常见
* ARM 64

用户模式(usr):

- 不分组寄存器(R0-R7)
- 分组寄存器(R8-R14)
- 传递参数与返回值(R0-R3) 函数返回值 一般保存在R0,超过4个参数的函数,一般通过堆栈来传递参数      
- 保存栈顶地址(R13/SP)
- 保存函数的返回地址(R14/LR)  
    BL sub_85e8
    MOV R0,R7   // LR保存这条指令的地址。在执行完sub_85e8函数后 ,执行LR保存的地址
- 程序计数器R15(PC --> 每次会+4 或+2 由于执行了32位或者16位的指令)
- 状态寄存器CPSR ( 记录当前指令:Thumb or ARM ) 

ARM处理器:

ARM状态(执行32位对齐指令的ARM指令) 效率高
Thumb状态(执行16位对齐的Thumb指令) 灵活小巧

你可能感兴趣的:(ARM寄存器)