- 1、本文档共73页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北京大学出版社出版 嵌入式ARM系统原理与实例开发 北京大学出版社 出版 ARM处理器模式 除用户模式之外的其余6种称为非用户模式 (特权模式) 在特权模式中,除系统模式之外的其余5种又称为异常模式 不同的工作模式间可以相互切换。 ARM处理器的寄存器 为什么需要R13,R14,SPSR? 寄存器设计原则 对于一个正在运行的程序,主要包括以下内容: 当前程序的位置:PC寄存器存储。 当前CPU的状态:CPSR寄存器存储。 当前临时数据:R0~R12通用寄存器存储(特殊情况下,部分也有特殊用途)。 在运行时,涉及到中断切换,因此需要进行现场保护: 当前程序的位置:R14寄存器存储。 当前CPU的状态:SPSR寄存器存储。 当前临时数据:存储在内存栈中,由R13寄存存储栈首地址。 ARM的寄存器组织 1.通用寄存器:包括R0~R15,以及程序计数器PC . R0~R7称为不分组寄存器; R8~R12有两组物理寄存器。 一组属于快速模式(R8_fiq~R12_fiq) 另一组属于其它模式(R8_usr~R12_usr) ; R13和R14有6组物理寄存器。 其中用户模式和系统模式共用一组 寄存器R13通常作为堆栈指针SP (stack pointer) 寄存器R14常用作连接寄存器LR(link register); 寄存器R15,又称为PC (program counter) ARM的寄存器组织 2.状态寄存器: 当前程序状态寄存器CPSR (current program status Register),可以在任何工作模式下被访问; 程序状态备份寄存器SPSR (Saved Program Status Register),只有在异常模式下,才能被访问 ; CPSR/SPSR 条件标志(Condition Code Flags) N = ALU计算结果为负数(Negative result from ALU(Arithmetic Logical Unit ) flag)。 Z = ALU计算结果为0(Zero result from ALU flag)。 C = ALU计算结果进位(ALU operation Carried out)。 For an addition, including CMN, C =1 if produced a carry. For a subtraction, including CMP, C=0 if produced a borrow. V = ALU计算结果溢出(ALU operation Overflowed)。 Q=E DSP (preserve and restore the CPSR Q flag if an exception occurs about enhanced DSP instructions.) 中断禁止位(Interrupt Disable bits) I = 1,关IRQ。 F = 1,关FIQ。 T Bit (Architecture v4T only) T = 0, 处理器当前处于ARM状态(Processor in ARM state) T = 1, 处理器当前处于Thumb状态(Processor in Thumb state) ARM指令编码方式 其中,内的项是必须的,{}内的项是可选的,如opcode是指令助记符,是必须的,而{cond}为指令执行条件,是可选的,如果不写则使用默认条件AL(无条件执行)。其中: Opcode:指令助记符,如LDR,STR 等。 Cond:执行条件,如EQ,NE 等。 S:是否影响CPSR 寄存器的值,书写时影响CPSR,否则不影响。 Rd:目标寄存器。 Rn:第一个操作数的寄存器。 operand2:第二个操作数。 ARM指令综述 第二个操作数组成 每个立即数由一个8位的常数循环右移偶数位得到,其中循环右移的位数由一个4位的二进制的两倍表示,即immediate=immed_8循环右移(2*rotate_imm)。 ARM指令的条件码 ARM指令的条件码(续) 立即寻址 MOV R0, #0xff00 ; 0xff00-R0 寄存器寻址 MOV R1, R2 ; R2-R1 SUB R0, R1, R2 ; R1-R2-R0 基地址变址寻址 LDR R2,[R3,#0x0F] ;R2←[R3+0x0F] STR R1,[R0,#-2] ;R1←[R0-2] LDR R0,[R1,#4]! ;R0←[R1+4]、R1←R1+4 寄存器偏移寻址 MOV R0,R2,LSL #3 ;R2的值左移3位,结果放入R0,即R0=R2*8 ANDS R1,R1
您可能关注的文档
- 第02讲 计算机系统的组成.ppt
- 第八章 平面、直线及立体相交.ppt
- 从文体特征对比分析评_上邪_英译.pdf
- 影响扭矩扳手准确性因素分析.pdf
- 蛋白质序列的图形表示和相似性分析.pdf
- 数据库试题20概论.doc
- 地理信息系统 附录二: GIS工具软件介绍_附件.pdf
- 4.0 工程规范与技术说明 (单价合同).doc
- 中机院:循环经济园区规划五大案例解读摘要.pdf
- 第三节 物理层.pptx
- 2024年浙江省杭州市临安市上甘街道招聘社区工作者真题及参考答案详解一套.docx
- 2024年河南省许昌市长葛市石固镇招聘社区工作者真题含答案详解.docx
- 2024年河南省郑州市登封市大冶镇招聘社区工作者真题及参考答案详解.docx
- 2024年浙江省宁波市余姚市低塘街道招聘社区工作者真题及参考答案详解一套.docx
- 2024年浙江省丽水市莲都区峰源乡招聘社区工作者真题及答案详解1套.docx
- 2024年河南省郑州市中原区石佛镇招聘社区工作者真题及答案详解1套.docx
- 2024年浙江省杭州市萧山区河庄镇招聘社区工作者真题带答案详解.docx
- 2024年浙江省嘉兴市桐乡市河山镇招聘社区工作者真题含答案详解.docx
- 2024年河南省郑州市金水区未来路街道招聘社区工作者真题参考答案详解.docx
- 2024年浙江省宁波市慈溪市观海卫镇招聘社区工作者真题及参考答案详解一套.docx
最近下载
- 物资管理知识题库-填空题.doc VIP
- Yamaha 雅马哈 乐器音响 PSR-SX600 Owner's Manual (Traditional Chinese) 用户手册.pdf
- 2025年危险性较大工程项目领导带班制度.pdf VIP
- 安徽工程大学【个人简历】简单风格四页精美套装简历-简历模板.docx VIP
- 2024年其他类-化验员-水质化验员考试历年常考点试题带答案.docx VIP
- 中国粮油公司年度经营计划.ppt VIP
- 2024年其他类-化验员-水质化验员考试历年常考点试题带答案.docx VIP
- 2024年其他类-化验员-水质化验员考试历年常考点试题带答案版.docx VIP
- 株洲湘江四桥42米现浇箱梁贝雷支架施工技术方案.doc VIP
- GB50312-2016 综合布线系统工程验收规范.docx VIP
文档评论(0)