- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CH04ARM寻址方式和指令系统
第四章 ARM寻址方式和指令系统 梁声灼 南昌大学计算机科学与技术系 EMAIL:jsjxlsz@163.com 电话目录 概述 ARM指令的寻址方式 ARM指令集 Thumb指令集 第四章 ARM寻址方式和指令系统 概述 概述 ARM微处理器的指令集是加载/存储型的,也即指令集仅能处理寄存器中的数据,而且处理结果都要放回寄存器中,而对系统存储器的访问则需要通过专门的加载/存储指令来完成。 ARM 微处理器的指令的分类 ARM微处理器的指令集可以分为六大类 : 跳转指令 数据处理指令 程序状态寄存器(PSR)处理指令 加载/存储指令 协处理器指令和异常产生指令 ARM微处理器指令表-1 ARM微处理器指令表-2 ARM微处理器指令表-3 ARM微处理器指令表-4 ARM微处理器指令表-5 指令的条件域 当处理器工作在ARM状态时,几乎所有的指令均根据CPSR中条件码的状态和指令的条件域有条件的执行。当指令的执行条件满足时,指令被执行,否则指令被忽略。 每一条ARM指令包含4位的条件码,位于指令的最高4位[31:28]。条件码共有16种,每种条件码可用两个字符表示,这两个字符可以添加在指令助记符的后面和指令同时使用。例如,跳转指令B可以加上后缀EQ变为BEQ表示“相等则跳转”,即当CPSR中的Z标志置位时发生跳转。 在16种条件标志码中,只有15种可以使用,第16种(1111)为系统保留,暂时不能使用。 指令的条件域表-1 指令的条件域表-2 指令长度及数据类型 ARM微处理器的指令长度可以是: 32位(在ARM状态下) 16位(在Thumb状态下) ARM微处理器中支持三种数据类型: 字节(8位) 半字(16位) 字(32位) 字需要4字节对齐(地址的低两位为0)、半字需要2字节对齐(地址的最低位为0) 指令格式 基本格式: op{cond}{S} Rd,Rn{,operand2} 其中,内的项是必须的,{}内的项是可选的 op:指令助记符,如LDR,STR等 cond:执行条件,如EQ,NE等,如不写则使用默认条件AL(无条件执行) S:是否影响CPSR寄存器的值,书写时影响,否则不影响 Rd:目标寄存器 Rn:第一个操作数的寄存器 operand2:第二个操作数 指令格式 例如: LDR R0,[R1] ;读取R1地址上的存储器单元内容,执行条件AL BEQ DATAEVEN ;跳转指令,执行条件EQ,即相等跳转到DATAEVEN ADDS R1,R1,#1 ;加法指令,R1+1=R1影响CPSR寄存器,带有S SUBNES R1,R1,#0xD ;条件执行减法运算(NE),R1-0xD=R1,影响CPSR寄存器,带有S 指令格式 指令格式:第2个操作数 灵活的使用第2个操作数“operand2”能够提高代码效率。它有如下的形式: #immed_8r——常数表达式; Rm——寄存器方式; Rm,shift——寄存器移位方式; 指令格式 指令格式:第2个操作数 #immed_8r——常数表达式 该常数必须对应8位位图,即一个8位的常数通过循环右移偶数位得到。 指令格式 指令格式:第2个操作数 #immed_8r——常数表达式 常数表达式应用举例: MOV R0,#1 ;R0=1 AND R1,R2,#0x0F ;R2与0x0F,结果保存在Rl LDR R0,[R1],#-4 ;读取R1地址上的存储器单元内容,且 R1= R1- 4 指令格式 指令格式:第2个操作数 Rm——寄存器方式 在寄存器方式下,操作数即为寄存器的数值。寄存器方式应用举例: SUB R1,R1,R2 ;R1-R2→R1 MOV PC,R0 ;PC=R0,程序跳转到指定地址 LDR R0,[R1],-R2 ;Rl所指存储器单元 内容存人R0,且R1 = R1 - R2 指令格式 指令格式:第2个操作数 Rm,shift——寄存器移位方式 将寄存器的移位结果作为操作数,但Rm值保持不变,移位方法如下: 指令格式 指令格式:第2个操作数 第四章 ARM寻址方式和指令系统 ARM寻址方式 ARM指令的寻址方式 寻址方式是根据指令中给出的地址码字段来实现寻找真实操作数地址的方式。ARM处理器指令系统具有9种基本寻址方式。 (1).寄存器寻址; (2).立即寻址; (3).寄存器偏移寻址; (4).寄存器间接寻址; (5).基址寻址; (6).多寄存器寻址; (7).堆栈寻址;
您可能关注的文档
最近下载
- 食品生产监督检查要点_培训讲座课件.pptx
- 变更工程施工方案申请(3篇).docx VIP
- 智慧方案智慧矿山整体解决方案(41页PPT).pptx VIP
- 舒曼声乐套曲《戒指在我手上》Op.42, No.4 (Du Ring an meinem Finger)声乐+钢琴伴奏谱 带歌词.pdf VIP
- ISO11898-2中文版完整文件.docx VIP
- 职业病知识培训职业健康检查课件.pptx VIP
- 2025版《煤矿安全规程》宣贯培训课件.pptx VIP
- 球磨机安全事故案例课件.pptx VIP
- 药物不良反应的识别与处理.pptx VIP
- T_CCMA 0113-2021 高空作业车 检查与维护规程.docx VIP
文档评论(0)