R0-R12 通用寄存器,thumb模式一般只能使用R0-R7
R13为栈指针寄存器(MSP,PSP)
R14为连接寄存器LR(用来存储程序返回地址)
R15为程序计数器PC(下一条运行指令地址)
特殊功能寄存器
xPSR(process status register)程序状态寄存器
B Label 跳转到Label代表的地址
BX Reg 跳转到Reg给出的地址,地址LSB=0进入ARM态,地址LSB=1进入THUMB态。cortex无ARM态
BL Label 跳转到Label代表的地址处,并把下条地址(程序返回地址)保存到LR中
BLX Reg 跳转到Reg给出的地址,把下条地址保存到LR中,地址LSB=0进入ARM态,地址LSB=1进入THUMB态。
CBZ R0,CALLAPP R0的值为0,则进入CALLAPP程序
MOVW R0,#0x3000 把0x3000立即数存入R0的低16位
MOVT R0,#0x2000 把0x2000立即数存入R0的高16位
MOVS R0,#0x2000 把0x2000存入R0并且根据结果来影响 Z N C O标志位
该指令结束后, Z=0表示结果非0
N=0表示结果为正
C=0表示没有进位(两个数相加有进位,或者两个数相减时有借位)
O=0表示没有溢出(两个有符号正数相加时溢出等情况)