arm无符号多字节整数乘法

arm无符号多字节整数乘法

ID:15383063

大小:187.00 KB

页数:4页

时间:2018-08-03

arm无符号多字节整数乘法_第1页
arm无符号多字节整数乘法_第2页
arm无符号多字节整数乘法_第3页
arm无符号多字节整数乘法_第4页
资源描述:

《arm无符号多字节整数乘法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、昆明理工大学信息工程与自动化学院学生实验报告(2012—2013学年第一学期)课程名称:ARM体系结构系统开课实验室:信自楼4432012年11月29日年级、专业、班计科学号201010803116姓名李力成绩101实验项目名称ARM无符号多字节整数乘法指导教师冯勇教师评语该同学是否了解实验原理:A.了解□B.基本了解□C.不了解□该同学的实验能力:A.强□B.中等□C.差□该同学的实验是否达到要求:A.达到□B.基本达到□C.未达到□实验报告是否规范:A.规范□B.基本规范□C.不规范□实验过程是否详细记录:A.详细□B.一般□C.没有□教师签名:年月日实验三ARM无符号多字节整

2、数乘法一、实验目的进一步学习使用EmbestIDEforARM开发环境及ARM软件模拟器;掌握ARM多字节整数乘法的汇编程序设计方法。二、实验原理1.ARM的乘法指令把一对寄存器的内容相乘,然后根据指令类型把结果累加到其它的寄存器。长整型乘法指令产生64位的结果。由于结果太大,不能存放在一个32位寄存器,所以把结果存放在2个32位的寄存器RdLo和RdHi中。RdLo存放低32位,RdHi存放高32位。利用UMULL和SUMLL指令可以进行32位宽度的无符号或有符号的整数乘法运算,得到64位的结果。乘法指令的语法:MLA{}{S}Rd,Rm,Rs,RnMUL{

3、nd>}{S}Rd,Rm,RsMLA乘累加Rd=(Rm×Rs)+RnMUL乘法Rd=Rm×Rs{}{S}RdLo,RdHi,Rm,RsSMLAL长整型有符号乘累加[RdHi,RdLo]=[RdHi,RdLo]+(Rm×Rs)SMULL长整型有符号乘法[RdHi,RdLo]=Rm×RsUMLAL长整型无符号乘累加[RdHi,RdLo]=[RdHi,RdLo]+(Rm×Rs)UMULL长整型无符号乘法[RdHi,RdLo]=Rm×Rs对于64位整数乘法运算可利用如图1所示的扩展方法来实现。其中:R0,R1分别存放被乘数的低32位和高32位;R2,R3分别存放

4、乘数的低32位和高32位;128位结果由低到高依次存放在R4,R5,R6,R7中。R1R0R3R2×R0*RR0*RHLR1*RR1*RHLR0*RR0*RHL+R1*RR1*RHLR7R6R5R4图1:2个64位无符号整数乘法的扩展方法三、实验内容依据图2-1框图所示方法编制2个64位无符号整数乘法的程序。运行EmbestIDE集成开发环境,输入自己设计的64位整数乘法汇编程序,生成目标代码,连接下载后进行调试。四、实验步骤1.打开memory窗口,观察地址0x8000周围的内容。2.执行程序并观察和记录寄存器与memory的值变化。3.结合实验内容和相关资料,观察程序运行,

5、检验程序执行过程和结果是否正确,通过实验加深理解ARM指令的使用。五、实验参考程序.global_start.text_start:ldrr0,=0x12345678ldrr1,=0x10000000ldrr2,=0x12345678ldrr3,=0xF000000Fumullr5,r6,r2,r0umullr7,r8,r3,r0addsr6,r6,r7adcr7,r8,#0x0umullr8,r9,r2,r1umullr10,r11,r3,r1addsr9,r9,r10adcr10,r11,#0x0addsr6,r6,r8adcsr7,r7,r9adcr8,r10,#0x0sto

6、p:Bstop.end六、思考题考虑利用UMLAL指令(长整型乘累加)完成上述程序功能。.global_start.text_start:ldrr0,=0x12345678ldrr1,=0x10000000ldrr2,=0x12345678ldrr3,=0xF000000Fumullr5,r6,r2,r0umlalr6,r7,r3,r0umlalr6,r7,r2,r1umlalr7,r8,r3,r1stop:Bstop.end

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。