实验二 汇编语言程序设计实验

实验二 汇编语言程序设计实验

ID:43845490

大小:60.17 KB

页数:3页

时间:2019-10-15

实验二 汇编语言程序设计实验_第1页
实验二 汇编语言程序设计实验_第2页
实验二 汇编语言程序设计实验_第3页
资源描述:

《实验二 汇编语言程序设计实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验二汇编语言程序设计实验1.1实验目的1.进一步掌握使用ADS开发、调试ARM汇编语言程序的方法;2.掌握ARM汇编语言程序的基本结构和常用的伪操作;3.掌握实现ARM汇编语言分支、循环程序结构的方法,理解指令条件码的意义和使用方法。1.2实验设备硬件:PC机一台。软件:WindowsXP系统,ADS1.2集成开发环境。1.3实验内容在ADS下编写、调试以下程序:1.求一个数的阶乘(64位结果)用ARM汇编语言设计程序实现求20!,并将其64位结果放在[R9:R8]中。2.对数据区进行64位结果累加操作。先对内存地址0x3000开始的100个字内存单元填入0

2、x10000001~0x10000064字数据,然后将每个字单元进行64位累加结果保存于[R9:R8]。3.选择排序对一个整数数组采用选择排序算法进行排序,结果仍旧放到源数组的位置。1.4实验参考程序1、求一个数的阶乘(64位结果):AREAEXP1,CODE,READONLYCODE32ENTRYMOVR8,#20MOVR9,#0SUBR0,R8,#1LoopMOVR1,R9UMULLR8,R9,R0,R8MLAR9,R1,R0,R9SUBSR0,R0,#1BNELoopB.END2.对数据区进行64位结果累加操作AREANUMBERS,DATA,READW

3、RITEdataBuffSPACE400AREALEIJIA,CODE,READONLYENTRYCODE32BEGINLDRR0,=dataBuffMOVR1,#0x10000001MOVR2,#100loop1STRR1,[R0],#4ADDR1,R1,#1SUBSR2,R2,#1BNEloop1LDRR0,=dataBuffMOVR9,#0MOVR8,#0MOVR2,#100loop2LDRR1,[R0],#4ADDSR8,R8,R1ADCR9,R9,#0SUBSR2,R2,#1BNEloop2stopBstopEND3.选择排序AREASelect_S

4、ort,CODE,READONLY;声明代码段Select_SortENTRY;标识程序入口LDRR0,=Datas;输入数据首地址LDRR1,=Num;数据个数LDRR1,[R1]Sel_SortMOVR1,R1,LSL#2;将数据个数转化为数据尾地址SUBR1,R1,#4ADDR1,R0,R1SUBR0,R0,#4Sort_L1LDRR4,[R0,#4]!;R0表示当前位置,R4当前最小数据TEQR1,R0;检查是否排序结束BEQSort_FinishMOVR2,R0;R2表示当前指针位置MOVR3,R0;R3表示当前最小数据的位置Sort_L2LDRR5

5、,[R2,#4]!;取出指针所指的数据CMPR4,R5;该数据与当前最小数据比较BLTSort_L3;如果当前所指数据小于当前最小数据MOVR3,R2;更新当前最小数据MOVR4,R5Sort_L3TEQR1,R2;对当前位置的判断是否结束BNESort_L2Sort_L4;如果当前位置的判断结束TEQR0,R3;检查当前最小数据的位置是否就是当前位置BEQSort_L1SWPR4,R4,[R0];把当前最小数据和当前位置的数据交换STRR4,[R3]BSort_L1Sort_FinishStopBStopALIGNDatasDCD0xAABBCC11,0xA

6、ABBCC66,0xAABBCC77,0xAABBCC99,0xAABBCC22DCD0xAABBCC33,0xAABBCC55,0xAABBCC44,0xAABBCC88,0xAABBCC00NumDCD10END实验报告要求:ò实验报告内容包括实验目的、实验设备、实验内容、实验结果和实验总结。ò“实验内容”部分要求通过分析三个参考程序,画出程序流程图,不要求抄写源程序代码。

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

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

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