ARM7汇编语言程序设计.doc_第1页
ARM7汇编语言程序设计.doc_第2页
ARM7汇编语言程序设计.doc_第3页
ARM7汇编语言程序设计.doc_第4页
ARM7汇编语言程序设计.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西 安 邮 电 大 学(计算机学院)课内实验报告课程名称: 嵌入式系统开发实验名称: ARM7汇编语言程序设计专业名称: XXXX班 级: XXXX学生姓名: XXX学号(8位): XXX指导教师: XXX实验日期: XXXX 年 XX 月 XX 日一. 实验目的及实验环境实验目的:1.了解ADS1.2集成开发环境及ARMulator软件仿真。 2.掌握ARM7TDMI汇编指令的用法,并能编写简单的汇编程序。 3.掌握指令的条件执行以及使用LDR/STR指令完成存储器的访问实验环境:CodeWarrior for ARM Developer Suite2. 实验内容1. 编写程序,实现1到10的自然数的累加和。2. 找出10个数中的最大值与最小值。 3.从自然数1开始累加,直到累加和大于3000为止,统计被累加的数的个数和累加和。4编写程序,将乱序的5个无符号数排序。三方案设计创建工程启动ADS1.2,使用ARM Executable Image工程模板建立一个工程Project2。添加源文件,编辑源代码建立汇编文件TEST2.S,输入源代码,参考源代码附后,然后添加到工程中。链接选项配置设置工程链接地址RO Base为0x40000000,RW Base为0x40003000。设置调试入口地址Image entry point为0x40000000。编译链接工程选择Project-Debug,启动AXD进行软件仿真调试。调试工程打开寄存器窗口,选择Current项监视R0和R1的值。四测试数据及运行结果1.求和2. 求最大值与最小值3. 与3000比较大小4. 排序五总结1实验过程中遇到的问题及解决办法;刚开始写完代码的时候,make完以后打不开AXD页面,最后将工程重新打开了一遍;添加寄存器的时候,其实已经添加上了,但是没有看见,然后就重复添加造成错误;在写代码的时候忘了将结果放在哪个寄存器中,结果在一个一个找,在询问同学后解决了问题;在做实验的时候,不会加断点,在查询相关书籍后掌握了此部分知识。2 对设计及调试过程的心得体会 在这次实验中学到了很多知识,但是在实验的过程中遇到了好多问题,写代码的时候总是出错,运行不出来,由于知识掌握的不是很好,不会调试代码,到最后在同学的帮助下完成了实验,所以这次试验后我也明白了合作在实验中起了很重要作用,在遇到困难自己解决不了的时候,要多询问询问同学和老师,这样才能真正学到知识,才能真正的进步。6 附录:源代码1.1到10的累加和 AREASUM2,CODE,READONLYENTRYCODE32startMOVR0,#1LDRR1,=sumLDRR2,=0LOOPADDR2,R2,R0ADDR0,R0,#1CMPR0,#11BNELOOPSTREQR2,R1stopMOVr0,#0x18LDRr1,=0x20026SWI0x123456AREAData,DATA,READWRITEsumDCD0END2. 最大值与最小值 AREA max,CODE,READONLY ENTRY CODE32num EQU 9 start LDR R0,=x LDR R1,=y LDR R2,=z LDR R3,=num LDR R4,R0 LDR R5,R0compare ADD R0,R0,#4 LDR R6,R0 CMP R4,R6 MOVCC R4,R6 MOVCS R5,R6 SUBS R3,R3,#1 BNE compare STREQ R4,R1 stop MOV r0,#0x18 LDR r1,=0x20026 SWI 0x123456 AREA Data,DATA,READWRITE x DCD 59,37,13,67,107,12,231,1,42,222y DCD 0z DCD 0 END3. 累加求和到3000AREASUM,CODE,READONLYENTRYCODE32 StartLDRR0,=nLDRR1,=sumLDRR3,=0LDRR4,=0LDRR5,=3000 continueADDR4,R4,#1ADDR3,R3,R4CMPR3,R5BCCcontinueSTRCSR3,R1STRCSR4,R0 stopMOVr0,#0x18LDRr1,=0x20026SWI0x123456AREAData,DATA,READWRITEnDCD0sumDCD0END4.排序:AREABibble,CODE,READONLY ENTRYstartLDRR1,=numMOVR2,#0LDRR4,R1SUBR4,R4,#1SUBR1,R1,#4outerLDRR0,=srcinnerLDRR5,R0LDRR6,R0,#4CMPR5,R6STRGTR6,R0STRGTR5,R0,#4ADDR0,R0,#4CMPR0,R1BNEinnerADDR2,R2,#1SUBR1,R1,#4CMPR2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论