ARM中常见的汇编指令
数据传输指令
- mov r0,r1 mov r0,#0xff 传递
- mvn r0,r1 mvn r0,#0xff 按位取反传递
算数指令 - add
- sub
- rsb
- adc
- sbc
- rsc
逻辑指令 - and 与
- orr 或
- eor 异或
- bic 位清除指令
例如:bic r0,r0,#0x1f //其含义:清除r0的bit[4:0]位
比较指令 - cmp
- cmn
- tst
- teq
乘法指令 - mvl
- mla
- umull
- umlal
- umull
- smlal
前导零计数 - clz
CPSR访问指令
- mrs 读psr
- msr 写psr
跳转指令
- B 直接跳转
- BL 跳转前把返回地址放入LR
- BX 跳转同时切换到arm模式,常用于异常跳转
访存指令
- ldr 读 单字、半字、字节
例如:ldr r0, =0xf1e00000
意思是,读取0xf1e00000这个内存地址(寄存器)里的内容,存入r0中。