欢迎来到天天文库
浏览记录
ID:35918396
大小:1.63 MB
页数:16页
时间:2019-04-24
《微嵌实验1-实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、电子科技大学实验报告课程名称微处理器系统结构与嵌入式系统设计实验名称ARM汇编基础实验任课教师实验教师姓名学号实验地点分组号时间年月日一、实验目的1.熟悉并掌握常用ARM汇编指令2.熟悉并掌握“C+汇编”混合编程技术3.熟练使用ARM软件开发调试工具Keil二、实验内容1.学习使用Keil开发工具2.实现累加运算功能(汇编编程,必做)3.实现字符串拷贝功能(C+汇编,必做)4.实现求和运算功能(C+汇编,必做)5.实现冒泡排序算法(汇编编程,选做)微处理器系统结构与嵌入式系统设计实验报告三、实验步
2、骤1.学习使用keil开发工具1.点击“KeiluVision5”打开软件主窗口。2.点击Project->NewuVisionProject建立新工程。3.为新工程命名。4.为工程选择目标器件:三星S3C2440A。5.选择是否添加S3C2440.s启动文件:C源程序工程选“是”,汇编源程序工程选“否”。6.在工程SourceGroup上点右键选择添加新工程文件。7.选择源文件类型。8.录入源代码并保存。9.对工程进行build或rebuild。10.点击debug按钮进入/退出调试,忽略代码大
3、小限制。使用单步调试,仔细观察过程中关键寄存器值的变化。2.各个实验步骤实验1.1:用汇编语言实现1+2+...+N的累加(必做)1.建立新工程,加入实验1.2文件夹中的sum.s2.用汇编补充算法核心部分,代码参考流程图如下图所示。3.使用单步调试,仔细观察过程中关键寄存器值的变化。实验1.2:C调用汇编实现字符串拷贝功能(必做)1.建立新工程,加入实验1.3文件夹中的main.c和testfile.s(同一个工程下添加两个文件一起编译)。2.补充完成源代码中缺失的部分,实现字符串拷贝功能3.运
4、行Debug进行调试实验1.3:汇编调用C实现实现求和1+2+...+N(必做)1.建立新工程,加入实验1.4文件夹中的sum.c和testfile.s(同一个工程下添加两个文件一起编译)。2.补充完成源代码中缺失的部分,通过调用c函数g()实现1+2+3+glovb1,结果存在R8中。3.运行Debug进行调试实验1.4:ARM汇编实现冒泡算法(选做)1.建立新工程,加入实验1.5文件夹中的maopao.s。2.补充完成源代码中缺失的部分,实现冒泡排序功能。3.运行Debug进行调试四、实验结果
5、实验1.1用ARM汇编实现1+2+…+n的运算。在sum.s文件中,添加如下核心代码:-------------------------------------------------------------------------------------------------------------------------SUN_L1ADDR0,R1;R0,R1求和BVSSUM_END;判断是否溢出,溢出则执行SUM_END程序,求和结束CMPR1,R2;R1、R2作差与0进行比较BHSSUM
6、_END;R1>=R2,则执行SUM_END程序,否则向下继续执行ADDR1,#1;R1增1BSUN_L1;循环运行SUN_L1调试过程:1.设置N的值并赋值给R01.将R0=N的值复制给R22.判断N是否为0或者,改变标志位C1.将R0,R1分别初始化为0与12.将R0+R1赋值给R01.判断是否溢出与R1是否大于等于R2=N,改变标志位N2.令R1+1赋值给R11.通过B语句返回SUN_L1函数,实现循环相加2.此时判断到R1大于等于R2=100,改变标志位1.跳转到SUM_END函数,并将R
7、0的结果保存在R8中2.出栈并返回函数,完成1到N=100的累加,结果保存在R8中实验1.2:C调用汇编实现字符串拷贝功能(必做)在testfile.s文件中,添加如下核心代码:-------------------------------------------------------------------------------------------------------------------------StrcopyLDRBR2,[R1],#1;R1对应源字符串首地址,利用寄存器间接
8、寻址读取字符串到R2STRBR2,[R0],#1;R0对应目的字符串首地址,利用寄存器间接寻址保存字符CMPR2,#0BNEstrcopyMOVPC,LREND;文件结束调试过程1.定义源字符串数组“aaaa”1.定义目标字符串“bbbb”2.进入汇编程序strcopy3.将源字符串的首地址R1赋值给R2,并让R1加一位,指示源字符串下一位的地址1.将R2地址代表的字符赋值给目标字符串组首地址R0的内容,并将R0加一位,指示目标字符串的下一位地址2.判断R2即源字符串地址内容是否为
此文档下载收益归作者所有