项目3数据处理与乘法指令

项目3数据处理与乘法指令

ID:24322489

大小:106.51 KB

页数:3页

时间:2018-11-13

项目3数据处理与乘法指令_第1页
项目3数据处理与乘法指令_第2页
项目3数据处理与乘法指令_第3页
资源描述:

《项目3数据处理与乘法指令》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、深圳职业技术学院ShenzhenPolytechnic实训(验)项目单TrainingItem编制部门:计算机系编制人:王晓春编制日期:2013.1项目编号ItemNo.3项目名称Item数据处理与乘法指令训练对象Class计算机应用技术专业大二学生学时Time2课程名称CourseRISC微控制器嵌入式系统技术教材Textbook嵌入式系统技术目的Objective1.熟悉数据处理指令2.熟悉ARM的乘法指令3.64位乘法指令的用法和含义4.熟悉ADS1.2编译、下载、调试程序的基本方法内容(方法、步骤、要求或考核标准及所需工具、材料、设备等)一、实验内容1.学习ARM的

2、数据处理指令。2.注意第二操作数的运用。3.学习ARM的乘法指令用法。4.通过调试相关的程序,对比几条乘法指令的差异。二、实训步骤、方法与要求1.多位数的加法已知二个64位的数,分别保存在R0,R1,R4,R5中,其中R0,R4保存低32位,R1和R5保存高32位,其和保存在R8和R9中。(求0x11111111FFFFFFFF+0x2222222200000001=0x3333333400000000)程序段如下:AREAExample,CODE,READONLYENTRYstartMVNR0,#0LDRR1,=0x11111111MOVR4,#1LDRR5,=0x222

3、22222ADDSR8,R0,R4ADCR9,R1,R5BstartEND1)注意上例中MOV指令和MVN指令的使用。(强调)2)注意上例中S位的使用。(强调)3)修改程序,将64位数的相加,改为128位数的相加,被加数保存在R0,R1,R2,R3中;加数保存在R4,R5,R6,R7中,其中R0,R4保存低32位,R3和R7保存高32位,其和保存在R8,R9,R10,R11中。实现如下两个128位数的相加:0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF+0x000000000000000000000000000000001----------------

4、-------------------------------------------------------0x0000000000000000000000000000000002.逻辑运算编辑、编译并调试以下程序,分析程序结果,进行判断该程序完成了什么样的操作?以下程序实现了什么?AREAExample,CODE,READONLYENTRYstartLDRR0,=0x12345678ANDR1,R0,#0xFF000000MOVR2,R1,ROR#24ANDR1,R0,#0x00FF0000MOVR3,R1,ROR#16ANDR1,R0,#0x0000FF00MOVR4

5、,R1,ROR#8ANDR5,R0,#0x000000FFBstartEND1)如果希望将R2到R5共四个寄存器中的内容拼成一个字,放在R1中,如何实现?2)在上例程序的基础上完成将R2-R5四个寄存器的值拼为一个32位字放在R1中的程序。1.比较指令下述程序实现了什么?AREAExample,CODE,READONLYENTRYstartMOVR0,#9MOVR1,#15CMPR0,R1MOVLTR3,R1MOVGTR3,R0MOVEQR3,#0loopBloopEND修改R0的值为20,观察指令的执行过程,看看程序的执行结果有何不同。2.程序分析以下代码是从一段程序中截

6、取的一段代码,分析该段代码所完成的功能:f_delayLDRR3,=0x1ffffdelayNOPNOPNOPSUBR3,R3,#1CMPR3,#0BNEdelayMOVPC,LR其中的NOP是空操作,ARM没有相应的伪指令编码,所以常常将该指令处理为MOV R0,R0。这段程序涉及了数据处理指令的一些基本操作,通过仔细分析得出结论。3.数据处理指令拓展训练1)在上述程序的基础上,增加一个数R2,初值赋十进制数19,实现三个数大小的比较。最大数放在R3中,如果三个数相等,则R3中放该数。2)有三个数分别放在R0,R1,R2中,实现3个数大小的排队,最大数放在R0中,最小数放

7、在R2中。4.乘法指令以下程序用不同的指令实现了两个32位数的乘法,观察其结果有何差别?AREAExample,CODE,READONLYENTRYstartLDRR0,=0x7FFFFFFFLDRR1,=0x2MULR2,R0,R1SMULLR3,R4,R0,R1UMULLR5,R6,R0,R1loopBloopEND然后将R0修改为0xFFFFFFFF观察结果,会有一个很有意思的现象,三个结果是完全不同的,这是什么原因呢?通过对比,了解扩展符号位的概念。1.乘法指令拓展训练利用乘法指令编程实现Z=5*X+8*Y

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

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

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