ARM指令集快速参考手册
需积分: 14 150 浏览量
更新于2024-10-17
收藏 159KB PDF 举报
"这是一份详细的ARM指令速查手册,包含了丰富的ARM架构指令集信息,解释详尽,适用于快速查询和理解ARM指令。手册中的表格和符号指引用户找到特定条件、寻址模式、操作数以及处理器状态寄存器(PSR)字段等信息。此外,手册还特别提到了在ARM架构v4及更早版本中,某些指令执行后标志位的不可预测性,以及关于块加载、堆栈操作和地址更新的规则。"
在ARM指令集中,不同的指令有其特定的格式和用途,例如:
1. **条件码({cond})**:ARM指令集支持多种条件执行,如无条件(AL或无)、零(EQ)、不等于(NE)、负(MI)、非负(PL)、溢出(VS)、无溢出(VC)、半零(HI)、半非零(LO)、负或零(HS)、非负或零(LO)等。这允许程序员根据程序状态来控制指令的执行。
2. **寻址模式**:如地址模式2({a_mode2})、地址模式2后索引({a_mode2P})、地址模式3({a_mode3})、地址模式4(用于块加载或堆栈操作,如{a_mode4L}和{a_mode4S})和地址模式5({a_mode5})。这些模式决定了如何访问内存中的数据,例如,后索引模式会在数据传输后更新基址寄存器。
3. **操作数**:操作数可以是立即数(如{immed_8r}和{immed_8*4}),可以是右移或左移的常量,或者是一系列注册({reglist}),其中{x,y}表示半寄存器操作。
4. **标志更新**:标志如C(进位)、V(溢出)、Q(溢出标志,只在块存储或堆栈推送时更新,且在溢出时总是更新)等,它们反映了指令执行的结果,并可能影响后续指令的执行。
5. **特殊符号**:如“!”表示数据传输后更新基址寄存器,"§"则可能用于指明指令与特定ARM架构版本的兼容性。
这份手册对于开发者来说是宝贵的参考资料,它帮助理解和编写针对ARM架构的高效代码,尤其是在处理条件执行、内存访问和状态管理等方面。通过深入学习和应用这些指令,开发者能够更好地优化和调试在ARM平台上运行的程序。
2022-09-14 上传
2022-09-20 上传
2021-02-12 上传
2022-09-20 上传
2019-09-17 上传
2022-09-21 上传
2022-09-23 上传
qinkai5
- 粉丝: 1
- 资源: 10
最新资源
- 易语言后台截取摄像头图像源码
- MATLAB数据字典生成代码-slQuery:Simulink的简单易用API
- Java将2个List集合合并到一个List里面并排序工具类
- fitness-tracker:使用MySQL记录运动程序
- Phone Call Cost:电话费用计算器-开源
- ant-design-vue-4.0.0-rc.1.zip
- 电气施工组织设计-平工程施工组织设计方案
- Excel-VBA实用技巧范例-筛选数据.zip
- Grid++Report5.8.0.5.zip
- 基于kalman卡尔曼滤波的视频目标跟踪仿真+代码操作视频
- 基于Python的歌曲搜索播放器源代码,利用requests库对歌曲宝网站进行歌曲采集,并用tkinter做了UI
- livecardColor:更改 livecard 中线性布局的背景
- Finery 时装电商app ui .xd素材下载
- matlab如何敲代码-Bispectral-Analysis:Matlab信号双谱分析代码
- gardenAutomation
- 基于kalman卡尔曼滤波的人员行走预测跟踪matlab仿真+代码操作视频