ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:369.43KB ,
资源ID:11570514      下载积分:2 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11570514.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第3章ARM指令集第5课.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第3章ARM指令集第5课.docx

1、第3章ARM指令集第5课c逻辑运算指令 c-1. AND 功能:将两个源操作数按位作逻辑与操作,将结果保存到目标寄存器中,可能会更新条件标志位。 语法格式及伪码: 使用:用于提取寄存器内容的某些位(用一个掩码和寄存器中值做与操作,掩码中对应寄存器中要提取的位设为1,其余位设置为0)。 c-2. ORR 功能:将两个源操作数按位作逻辑或操作,将结果保存到目标寄存器中,可能会更新条件标志位。 语法格式及伪码: 使用:用于将寄存器中的某些位设置为1(设计一个掩码和寄存器做或操作,掩码中对应寄存器中欲设置的位置为1,其余设置为0)。 举例(将R2的高8位传送到R3的低8位) c-3. EOR 功能:将

2、两个源操作数按位作逻辑异或操作,将结果保存到目标寄存器中,可能会更新条件标志位。 语法格式及伪码: 使用:用于将寄存器中某些位取反(将掩码中对应于寄存器要取反的位设置为1,其余设置为0)。 d比较指令 d-1. CMP 功能:将两个源操作数相减,并更新条件标志位(后续指令可根据条件标志位决定是否被执行)。 语法格式及伪码: 使用:不保存操作结果,只用来修改条件标志位。 d-2. CMN 功能:将两个源操作数相加,并更新条件标志位(后续指令可根据条件标志位决定是否被执行)。 语法格式及伪码: 使用:当OP2=0或0x80000000(负零)时,CMP和CMN的操作结果不同。 e测试指令 e-1.

3、 TST 功能:将两个操作数按位做逻辑与操作,根据结果更新条件标志位(和比较指令一样只能修改,结果被丢弃)。 语法格式及伪码: 使用:用于测试寄存器中某个/些位是1还是0(测试多个位时,可以一个一个测试;测试是利用“Z”条件标志位的取值来实现的)。 e-2.TEQ 功能:将两个操作数按位做逻辑异或操作,根据结果更新条件标志位(和比较指令一样只能修改,结果被丢弃)。 语法格式及伪码: 使用:用于比较两个操作数是否相同(利用“Z”实现)或两个操作数的符号是否相同(利用“N”实现)。 f乘法指令 ARM有两类乘法指令:1.32位的乘法指令;2.64位的乘法指令。细分下来共有6条指令: f-1.MUL

4、 功能:实现两个32位数(有符号/无符号均可)的乘积,将结果放入一个32位寄存器中,可以更新条件标志位。 语法格式及伪码: 使用:只保存结果的低32位,对于有/无符号数而言执行结果相同;对于ARMv5版本及以上,指令不影响C位(以前版本中指令执行后C值不确定);Rm、Rs和Rd为R15时指令的执行结果不可预测(不能使用R15)。 f-2.MLA 功能:实现两个32位数(有符号/无符号均可)的乘积,再加上第三个操作数,将结果放入一个32位寄存器中,可以更新条件标志位。 语法格式及伪码: 使用:同MUL(MLA R0,R1,R2,R3)。 f-3.SMULL 功能:实现两个32位有符号数的乘积,6

5、4位的结果存放在两个寄存器中,可能修改条件标志位。 语法格式及伪码: 使用:对于ARMv5版本及以上,指令不影响C位(以前版本中指令执行后C值不确定);Rm、Rs和RdHi/RdLo为R15时指令的执行结果不可预测(不能使用R15)。 / SMULL R1,R2,R3,R4 R2=(R3R4)63:32,R1=(R3R4)31:0 f-4.SMLAL 功能:实现两个32位有符号数的乘积,并与目的寄存器中的值相加,64位的结果存放在目的寄存器中,可能修改条件标志位。 语法格式及伪码: 使用:同SMULL。 f-5.UMULL 功能:实现两个32位无符号数的乘积,64位的结果存放在两个寄存器中,可能修改条件标志位。 语法格式及伪码: 使用:同SMULL。 f-6.UMLAL 功能:实现两个32位无符号数的乘积,并与目的寄存器中的值相加,64位的结果存放在目的寄存器中,可能修改条件标志位。 语法格式及伪码: 使用:同SMULL。 g其它-位清除指令(BIC) 功能:将寄存器的值和OP2的反码做逻辑与操作,将结果保存到Rd,可能更新条件标志位。 语法格式及伪码: 使用:用于将寄存器中某些位设置为0(将掩码中对应位的值设置为1)。h补充-前导0个数计数指令(CLZ) 功能:用于计算操作数最高端0的个数(ARMv5及以上版本包含)。 语法格式及伪码:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1