ARM CORTEX-3指令小结
2011-06-23 23:54
204 查看
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表示没有溢出(两个有符号正数相加时溢出等情况)
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表示没有溢出(两个有符号正数相加时溢出等情况)
相关文章推荐
- ARM CORTEX Ax NEON 中的加法指令
- ARM CORTEX Ax NEON 中的加法指令
- ARM Cortex-M 条件码 分支指令
- 嵌入式 arm指令小结一
- 嵌入式 arm指令小结二
- ARM Cortex-M 分支指令编码
- ARM架构和Cortex 三大系列关系小结
- ARM 指令 CORTEX-M0
- ARM指令里几个特殊符号
- arm ldm stm指令解析
- day09 ARM汇编指令
- MySQL 常用指令小结
- 2440之ARM指令
- 在ARM CORTEX-M内核上运行FreeRTOS
- Cortex系列ARM内核介绍
- ARM 汇编 伪指令 MACRO及MEND
- 09_ARM汇编自学笔记指令系统之数据处理指令
- arm汇编指令笔记
- ARM指令B BL BLX BX区别
- [ARM]ldr和 adr/adrl 伪指令的区别