- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 2.8.2 乘法指令 4.UMLAL指令:UMLAL(Unsigned Multiply Accumulate Long)为64位无符号长乘—累加指令。指令将Rm和Rs中的值做无符号数相乘,64位乘积与RdHi、RdLo相加,结果的低32位保存到RsLo中,高32位保存到RdHi中。 (1)指令的语法格式 UMALL{cond}{S} RdLo,RdHi,Rm,Rs (2)指令举例 下面的指令完成(R1,R0) = R5 × R8+(R1,R0)操作。 UMLAL R0, R1, R5,R8; 2.8 ARM处理器的指令集 * 2.8.2 乘法指令 5.SMULL指令:SMULL(Signed Multiply Long)为64位有符号长乘法指令。指令将Rm和Rs中的值做有符号数相乘,结果的低32位保存到RsLo中,高32位保存到RdHi中。 (1)指令的语法格式 SMULL{cond}{S} RdLo,RdHi,Rm,Rs (2)指令举例 下面的指令完成(R3,R2) = R7 × R6操作。 SMULL R2, R3, R7,R6; 2.8 ARM处理器的指令集 * 2.8.2 乘法指令 6.SMLAL指令:SMLAL(Signed Multiply Accumulate Long)为64位有符号长乘—累加指令。指令将Rm和Rs中的值做有符号数相乘,64位乘积与RdHi、RdLo相加,结果的低32位保存到RsLo中,高32位保存到RdHi中。 (1)指令的语法格式 SMLAL{cond}{S} RdLo,RdHi,Rm,Rs (2)指令举例 下面的指令完成(R3,R2) = R7 × R6 +(R3,R2)操作。 SMLAL R2, R3, R7,R6; 2.8 ARM处理器的指令集 * 2.8.3 Load/Store指令 Load/Store内存访问指令在ARM寄存器和存储器之间传送数据。ARM指令中有3种基本的数据传送指令。 1.单寄存器Load/Store指令(Single Register) 这些指令在ARM寄存器和存储器之间提供更灵活的单数据项传送方式。数据项可以是字节、16位半字或32位字。 2.多寄存器Load/Store内存访问指令 这些指令的灵活性比单寄存器传送指令差,但可以使大量的数据更有效地传送。它们用于进程的进入和退出、保存和恢复工作寄存器以及复制存储器中的一块数据。 3.单寄存器交换指令(Single Register Swap) 这些指令允许寄存器和存储器中的数值进行交换,在一条指令中有效地完成Load/Store操作。它们在用户级编程中很少用到。它的主要用途是在多处理器系统中实现信号量(Semaphores)的操作,以保证不会同时访问公用的数据结构。 2.8 ARM处理器的指令集 * 2.8.3 Load/Store指令 单寄存器的Load/Store指令 用于把单一的数据传入或者传出一个寄存器。支持的数据类型有字节(8位)、半字(16位)和字(32位)。 单寄存器Load/Store指令 2.8 ARM处理器的指令集 * 2.8.3 Load/Store指令 单寄存器的Load/Store指令 1.LDR指令:用于从内存中将一个32位的字读取到目标寄存器 (1)指令的语法格式 LDR{cond} Rd,addr_mode (2)指令举例 LDR R1,[R0,#0x12] ;将R0+12地址处的数据读出,保存到R1中(R0的值不变) LDR R1,[R0] ;将R0地址处的数据读出,保存到R1中(零偏移) LDR R1,[R0,R2] ;将R0+R2地址的数据读出,保存到R1中(R0的值不变) LDR R1,[R0,R2,LSL #2] ;将R0+R2×4地址处的数据读出,保存到R1中(R0、R2的值不变) LDR Rd,label ;label为程序标号,label必须是当前指令的-4~4KB范围内 LDR Rd,[Rn],#0x04 ;Rn的值用作传输数据的存储地址。在数据传送后,将偏移量0x04与Rn相加,结果写回到Rn中。Rn不允许是R15 2.8 ARM处理器的指令集 * 2.8.3 Load/Store指令 单寄存器的Load/Store指令 2.STR指令:用于将一个32位的字数据写入到指令中指定的内存单元 (1)指令的语法格式 STR{cond} Rd,addr_mode (2)指令举例 LDR/STR指令用于对内存变量的访问、内存缓冲区数据的访问、查表、外围部件的控制操作等,若使用LDR指令加载数据到PC寄存器,则实现程序跳转功能,这样也就实现了程序散转。 ①
您可能关注的文档
- (第二章快递大客户的选择)快递大客户开发实务课件.ppt
- (第六章大客户营销团队的建设与管理)快递大客户开发实务课件.ppt
- (第三章快递大客户的分析)快递大客户开发实务课件.ppt
- (第四章快递企业与大客户关系的建立)快递大客户开发实务课件.ppt
- (第五章大客户关系的维系与管理)快递大客户开发实务课件.ppt
- (第一章快递大客户开发概述)快递大客户开发实务课件.ppt
- (汽车专业英语课件)Model Four Auto VIN.ppt
- (汽车专业英语课件)Model Four Automotive Engine.ppt
- (汽车专业英语课件)Model Seven Auto Used Buying.ppt
- (汽车专业英语课件)Model Seven Automotive Drive Train.ppt
最近下载
- 检验科职业安全防护和职业暴露紧急处理.ppt VIP
- 有机肥料检测报告.docx VIP
- 专题19.5 一次函数的应用【八大题型】(举一反三)(人教版)(解析版).pdf VIP
- (高清版)DG∕TJ 08-2075-2022 管线定向钻进技术标准.docx VIP
- 12J12 河北省12系列建筑标准设计图集 无障碍设施.docx VIP
- 两管理两综合一保护竞赛考试题库-外汇资本项目 .pdf VIP
- 八年级上册数学:专题24 二次根式【八大题型】(举一反三)(北师大版)(解析版).pdf VIP
- 2025年中国四氯化锆项目投资计划书.docx
- 液化石油气钢瓶智能制造项目可行性研究报告模板-备案拿地.doc
- 山西省建筑标准设计图集12J12 12系列建筑标准设计图集 无障碍设施.pdf VIP
文档评论(0)