1. b指令跳转范围是64M,用24位空间表示26位。bl:保存返回地址。
2. 前索引:存在r0+4,r0值不变 str r1,[r0,#4](!!以下两种才是真正的索引)
后索引:数据存在r0并后改变r0的值 str r1,[r0],#4
自动索引:存到r0+4,然后r0+4。 str r1,[r0,#4]!
3. stm(存)指令最多操作16个寄存器 stmia r11!,{r1-r5} (注意和str的目标地址不同)
使用批量寄存器操作时,编号小的一定存到低地址当中
stm等价于stmia(increase after use),stmib, stmda,stmdb
stmia和ldmdb配合,stmib和ldmda配合。
4. 最常用的是满减栈。stmfd,ldmfd
5. 读cpsr:mrs r1,cpsr
写cpsr: msr cpsr_c,r1
6. 伪指令:ldr r1, =0x12345678 可能等价于ldr r1,[pc]
7. CPSR中【31:24】条件域F表示 【23:16】状态域S表示 【15:8】预留域X表示 【8:0】控制域C表示