第一篇:02_ARM2014综合实验报告撰写模版
南京航空航天大学 研究生实验报告
项目名称:ARM
分班代码:
小组成员(有排名)
(1)姓名:学科:
电话:: 导师:
(2)姓名:学号:学科:
电话:Email:导师:
(3学号:学科:
Email:导师:
2014年xx月xx日
一、综合实验题目和要求
一、本实验主要内容
二、硬件框图
三、程序流程图
1、主程序流程图
2、子程序流程图
四、实验结果和分析
1或界面等)
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
六、实验分工
七、对本实验课程的几点建议
通过本课程的学习,本人认为,…………..注:个人信息如手机、email
第二篇:嵌入式系统ARM实验报告
南京邮电大学通信与信息工程学院
实验报告
实验名称:实验一基于ADS开发环境的设计
实验二嵌入式Linux交叉开发环境的建立 实验三嵌入式Linux环境下的程序设计
课程名称嵌入式系统B
班级学号B13010711 姓名马俊民
开课时间 2015/2016学年第1学期
实验一基于ADS开发环境的程序设计
一、实验目的
1、学习ADS开发环境的使用;
2、学习和掌握ADS环境下的汇编语言及C语言程序设计;
3、学习和掌握汇编语言及C语言的混合编程方法。
二、实验内容
1、编写和调试汇编语言程序;
2、编写和调试C语言程序;
3、编写和调试汇编语言及C语言的混合程序;
4、编写程序测试多寄存器传送指令的用法。
三、实验原理
ADS全称为ARM Developer Suite,是ARM公司推出的新一代ARM集成开发工具。现在常用的ADS版本是ADS1.2,它取代了早期的ADS1.1和ADS1.0。
ADS用于无操作系统的ARM系统开发,是对裸机(可理解成一个高级单片机)的开发。ADS具有极佳的测试环境和良好的侦错功能,它可使硬件开发工作者更深入地从底层去理解ARM处理器的工作原理和操作方法,为日后自行设计打基础,为BootLoader的编写和调试打基础。
1.ADS软件的组成
ADS由命令行开发工具、ARM运行时库、GUI开发环境(CodeWarrior和AXD)、实用程序、支持软件等组成。
2.GUI开发环境
ADS GUI开发环境包含CodeWarrior和AXD两种,其中Code Warrior是集成开发工具,而AXD是调试工具。
使用汇编语言进行编程简单、方便,适用于初始化硬件代码、启动代码等。汇编语言具有一些相同的基本特征:
1.一条指令一行。
2.使用标号(label)给内存单元提供名称,从第一列开始书写。3.指令必须从第二列或能区分标号的地方开始书写。4.注释必须跟在指定的注释字符后面,一直书写到行尾。
在ARM汇编程序中,每个段必须以AREA作为段的开始,以碰到下一个AREA作为该段的结束,段名必须唯一。程序的开始和结束需以ENTRY和END来标识。嵌入式C语言设计是利用基本的C语言知识,面向嵌入式工程实际应用进行程序设计。为了使单独编译的C语言程序和汇编程序之间能够相互调用,必须为子程序之间的调用规定一定的规则。ATPCS就是ARM程序和Thumb程序中子程序调用的基本规则。
四、实验过程与关键代码分析
1.创建项目工程
在File菜单中选择New命令,打开一个新建工程对话框。在Project选项卡下,选择ARM Executable Image, 然后在Project name文本框里输入项目名称,点击确定。弹出工程窗口。
选择File菜单中的New命令,选择File标签页,在File name文本框中输入要创建的文件名。汇编程序以.s结尾,c程序以.c结尾。在Location文本框中指定文件的存放位置,选中Add to Project,在Targets中选中DebugRel,单击确定关闭窗口。
2.用汇编语言设计程序实现10的阶乘
AREA EXAMPLE, CODE, READONLY ENTRY start MOV R0, #10 MOV R1, #1 LOOP MUL R0, R0, R1 SUB R0, R0, 1 CMP R0, #1 BHI LOOP END 在这个程序中,我们首先对R0和R1赋值,将R0作为一个变量,而R1作为一个存贮阶乘值的寄存器。在每进行一次乘法之后,将R0减1。同时在做完减法后进行判断,如果此时R0大于1,则返回继续乘法,否则结束程序,输出结果。
3.用调用子程序的方法实现1!+2!+3!+„+10!,代码如下: asmp.s
AREA JC, CODE, READONLY
EXPORT JCP
ENTRY JCP
ADD R3, R0, #1
MOV R2, #1
MOV R1, #1 LOOP MUL R0, R1, R2
MOV R1, R0
ADD R2, R2, #1
CMP R2, R3
BNE LOOP
NOP
NOP
MOV PC, LR
END
PROGC.c #include
int main(){ int res=0;int m=10;int i;for(i=1;i<=m;i++)
res=res+JCP(i);printf(“The result =%dn”,res);return 0;} 在这个程序中,主程序由c语言完成作求和,子程序由汇编语言写成作阶乘。
5.实现字符串的逆序复制TEXT1=“HELLO”=>TEXT2=“OLLEH”
AREA invstring, CODE, READONLY start
ADR R1,TEXT1
ADR R2,TEXT2
MOV R3, #0 LOOP
LDRB R0,[R1], #1
ADD R3,R3,#1
CMP R0,#0
BNE LOOP
SUB R1,R1,#2
LOOP1
LDRB R0,[R1], #-1
STRB R0,[R2], #1
SUB R3,R3, #1
CMP R3,#1
BNE LOOP1
MOV R5,#&55
TEXT1
TEXT2 NOP =“HELLO”,0 ALIGN =“OELLH” END
五、实验小结
在这次实验中,学会了如何使用汇编程序进行编程。对汇编程序编程一些基本的要求有了一定的了解,学习了C语言的语法和在其中调用汇编程序的方法。学会了利用CodeWarrior IDE开发C和ARM汇编代码。学会了在AXD中进行代码调试的方法和过程,对AXD的调试有初步的了解。,实验二嵌入式Linux交叉开发环境的建立
一、实验目的
1、掌握嵌入式Linux交叉开发环境的建立方法
2、学习和掌握Linux常用命令
3、学习和掌握vi编辑器的使用
二、实验内容
1、搭建嵌入式Linux交叉开发环境
2、熟悉Linux的常用命令
3、熟悉vi编辑器的常用命令
三、实验原理
Linux系统是UNIX系统的分支,是UNIX的微机版。Linux具有异常丰富的驱动程序资源,支持各种主流的硬件设备与技术。Linux包含了现代的UNIX操作系统的所有功能特性,这些功能包括多任务、虚拟内存、虚拟文件系统、进程间通信、对称所处理器、多用户支持等。
Vi编辑器是所有UNIX和Linux下的标准编辑器。它包含3种工作模式。嵌入式系统是专用的计算机系统,它对系统的功能、可靠性、成本、体积、功耗等有严格的要求。大部分嵌入式系统没有大容量存储设备,一般不能安装大型开发软件,系统的开发需要采用交叉开发模式。
四、实验过程与关键代码分析
实验用的是UP-NetARM2410-S试验箱,里面配有三星的芯片S3c2410X。打开电脑上VMWare软件,在Windows系统下启动虚拟机里的Linux系统。接着需要
1.宿主机的环境搭建
下载并运行VMWare,根据向导创建一台新虚拟机并选择Linux作为客户操作系统,再根据向导安装RedHat Linux 9.0。
2.虚拟机中启动Linux操作系统
使用root登陆,用户名为root,密码为123456。之后对共享文件设置进行调整:打开settings界面,打开shared folders功能,同时将路径设置到有课前下载的软件的目录下。
3.开发工具软件的安装(1)安装gcc 打开Linux后,打开终端窗口,在共享的目录下找到install.sh并运行,命令如下: ls./ install.sh 安装程序将自动建立/arm2410s目录,并将所有的开发软件包安装到/arm2410s 目录下,同时自动配置编译环境,建立合适的符号链接。安装完成后在目录/opt/host/armv4l/bin/下应该能看到主编译器。(2)配置PATH路径
vi.bash.profile 将里面PATH变量改为PATH=$PATH:$HOME/bin:/opt/host/armv41/bin/;存盘后执行
source.bash_profile 以后armv4l-unknown-linux-gcc将被自动搜索到
4.宿主机上的开发环境配置(1)配置IP地址
ifconfig eth0 192.168.0.121 命令配置了宿主机的IP地址。然后打开网络配置窗口,重新探测MAC地址。重新激活。(2)关闭防火墙
单击“Red”菜单→“系统设置”→“安全级别”→打开“安全级别配置”窗口,选择“无防火墙选项。”(3)配置NFS。
单击“Red”菜单→“系统设置”→“服务器设置”→“服务”,在“服务配置”窗口中勾选nfs,单击“开始”(4)NFS设置
单击“Red”菜单→“系统设置”→“服务器设置”→“NFS服务器”,打开“NFS服务器配置”窗口,设置NFS共享。
然后在NFS服务器中增加主机IP地址的链接许可和目录。完成配置。
5.目标机的信息输出
Windows系统下,“开始”→“所有程序”→“附件”→“通讯”→“超级终端”,新建一个通信终端。区号、电话号码随意输入。设置每秒位数为“115200”,数据位为“8”,无奇偶校验,停止位为“1”,无数据流控制。单击“确定”。
6.程序的运行
打开超级终端,启动Linux,屏幕显示:
[/mnt/yaffs] 在超级终端上执行挂载命令:
[/mnt] mount –t nfs 192.168.0.121:/arm2410s /mnt/nfs 挂载成功后可执行程序。
五、实验小结
在这次实验中,学会建立Linux交叉开发环境,学会了ls和vi,cd等常用的Linux命令,并掌握了Vi编辑器的使用方法。同时知道了如何在搭建失败时寻找错误进行排错。
实验三嵌入式Linux环境下的程序设计
一、实验目的
1、掌握嵌入式Linux环境下的程序设计方法
2、学会编写Makefile文件
二、实验内容
1、熟悉嵌入式教学实验箱的使用
2、编写C程序和Makefile文件
3、编译程序产生可执行程序
4、完成主机的挂载和程序的执行
三、实验原理
在嵌入式Linux环境下的程序设计方法有一下几个步骤:
1.编写源程序
2.编写Makefile文件 3.编译程序
4.运行和调试程序
5.将生产的可执行文件加入文件系统。
前三个步骤在宿主机上完成,后面的步骤在目标机上完成。
四、实验过程与关键代码分析
1.建立工作目录
mkdir hello cd hello
2.编写源程序
用vi编辑器编辑Hello.c文件
vi Hello.c 在Vi中输入源程序如下:
#include
printf(“hello world n”);}
3.编写Makefile文件
vi Makefile 在vi中编辑Makefile文件如下:
CC= armv4l-unknown-linux-gcc EXEC = hello OBJS = hello.o CFLAGS += LDFLAGS+=-static all: $(EXEC)$(EXEC):(OBJS)$(CC)$(LDFLAGS)–o $@ $(OBJS)clean:
-rm –f $(EXEC)*.elf *.gdb *.o
4.编译程序
在hello目录下运行“make”来编译程序。
make clean
make 编译成功后,生成可执行文件Hello.o。
5.下载调试
在宿主机上启动nfs服务,并将/arms2410s设置为共享目录。接下来启动超级终端,建立通讯,挂载。
[/mnt] mount –t nfs 192.168.0.121:/arm2410s /mnt/nfs 挂载成功后,进入/mnt/nfs,再进入/mnt/nfs/hello,直接运行刚刚编译生成的可执行文件Hello.o,查看运行结果
cd hello./hello 可以看见“Hello world”
只需要挂载一次便可,只要实验箱没有重启,就可以一直保持连接。反复修改、编译、调试,直至程序调试通过。
6.可执行文件加入文件系统
程序调试通过后,可以把可执行文件拖放到usr/bin目录下,然后使用mkcramfs制作工具生成新的文件系统。当系统启动后,就可以在相应目录下执行可执行程序hello.五、实验小结 在这次实验中,学会了在嵌入式Linux环境下设计程序。同时知道了如何对目标机进行挂载。以及如何在发现挂载不成功寻找错误进行修改。另外在编译文件时需要注意的也都有所了解。
实验四多线程程序设计
一、实验目的1、2、二、实验内容1、2、3、4、三、实验原理
四、实验过程与关键代码分析
五、实验小结
3+
第三篇:如何撰写实验报告
如何撰写实验报告
实验报告是对实验工作的总结和文字加工,是实验研究的最后环节,也是一个非常重要的环节。
1、撰写实验报告的目的撰写实验报告主要有两个目的,一是科学地总结自己的实验研究工作,通过对实验课题、内容、方法的科学表述,阐明实验的结论和价值,并向社会提供教育科研的信息,有益于丰富教育理论和推动教育实际工作;二是教育实验的成果是否可靠,必须经过反复验证。研究者对自己的实验工作进行总结,写出实验报告,不仅有助于向同行提供验证材料,也有利于学术交流、推动教育科研的发展,此外,撰写实验报告,还有利于研究者发现自己实验研究过程中的问题和漏洞,因而也有利于自己研究水平的提高和今后实验工作的改进。
2、对撰写实验报告的一般要求
一篇实验报告的质量如何,首先取决于实验研究工作本身,如实验研究工作是否具有理论或实践意义,实验设计是否科学、严谨,条件的控制是否严格有效,取决于实验研究者的理论与学术水平和写作能力,除此之外,要想写出一篇好的实验报告,还必须遵循下述要求:
(1)草拟详细的实验报告撰写提纲。要根据实验研究的目的、特点和结构缜密考虑实验报告的内容、中心思想、图表的穿插和表达方式。在草拟详细提纲的过程中,要对搜集到的大量材料进行比较、提炼、去伪存真,以选取最有价值的论据。
(2)结论的取得必须以事实为依据,不可因材料不全而主观臆
断,更不可捏造一些材料以弥补材料的不足(这已严重违背科研道德)。对搜集到的材料还必须从理论上进行分析,力求在学术上达到一定深度。
(3)文字表述必须精确和通俗。实验报告是科学论文,不是文艺作品,因此在写作时,不可采用夸张、比喻和拟人化的修辞手法,也不可将生活概念作为科学概念使用,写作时既要做到遣词用字准确无误,又要避免语言晦涩,要做到通俗易懂。
3、实验报告的格式
实验报告的撰写并无固定不变的模式,它可以因课题不同而有差别,但也有一个基本格式。一般而言,一个实验报告要包括以下几个部分。
(1)题目
题目是实验报告的主题思想,必须能准确、清楚地呈现出研究的主要问题。因此,实验报告的标题常常直接采用研究课题的名称,指明所研究的重要变量,如题目“用自学辅导法对初中学生进行语文教学的实验研究”,就反映了实验研究的实验变量(自学辅导法)。而题目“用发现法进行教学以促进学生思维能力发展的实验研究”,既反映了实验变量(发现法教学),又反映了反应变量(学生思维能力发展),总之,题目要使人对研究问题一目了然。
实验报告的题目还要注意简明,不要用字过多。在特殊情况下,如果字数少了,不能充分表现实验的主要内容,可以采用加副标题的办法。
(2)前言
前言也称引言、导语、问题的提出,是实验报告的正文开头部分。主要内容包括:提出问题,表明研究的目的;通过对有关文献的考察,说明选题的依据,课题的价值和意义;目前国内外在这一方面的研究成果、现状、问题及趋势;该项研究所要解决的问题以及研究的理论框架。
“前言”在实验报告中具有十分重要的地位,因为读者首先通过前言判断实验的意义和价值。前言的文字要简洁明了,字数不宜太多,表述要具体清楚。
(3)方法
该部分要阐明实验研究所使用的研究方法,同时,也便于人们对整个研究过程的科学性客观性加以评价鉴定。也就是说,要让别人了解实验结果是在什么条件和情况下,通过什么方法,根据什么事实得来的,以评价实验研究的科学性和结果的真实性、可靠性。同时,也便于他人用同样方法进行重复实验。
该部分基本内容包括:①研究课题中出现的主要概念的定义及其阐述;②被试的条件、数量、取样方法;③实验的设计,实验组与控制组情况,研究的自变量因素的实施及条件控制等;④实验的程序,通常涉及实验步骤的具体安排,研究时间的选择;⑤资料数据的搜集和分析处理,实验结果的检验方式。结构应周密,条理要清楚,用词要准确明白。
(4)结果
即介绍和分析研究结果。其内容包括:
①对实验中所搜集的原始数据、典型案例、观察资料,用统计表,曲线图结合文字进行初步整理、分析。既有对定性资料的归纳,又有对定量资料的统计分析。
②在对资料进行初步整理分析基础上,采用一些逻辑的或统计的技术手段,得出研究的最终结果或结论。
结果部分的撰写,要注意以下要求:
①叙述的是作者本人实验研究结果,以准确无误的数据资料说明问题,以陈述事实为主,不应夹杂前人或他人的工作成果,也不应外加研究者的主观议论和分析,从而保证结果的纯洁性、客观性和准确性。
②要将定量与定性分析相结合。对数据资料,不仅要严格核实,注意图表的正确格式,而且要采用一定的统计分析技术,以数量变化中揭示出所研究事物的必然关系,绝不能搞成事实的罗列。
③资料翔实,层次清晰,前后连贯,文字准确简明。结论是建立在对实验所搜集材料的客观分析、比较、综合、归纳基础上,必须是严谨的、科学的、合乎逻辑的论证,切忌夸夸其谈,任意引伸。
(5)讨论
讨论是对实验研究结果的含义和意义评价。研究者根据研究的客观事实和结论,结合自己的认识与了解,通过分析思考,讨论和分析与实验结果有关的问题,对当前教育理论或实践的发展提出自己的认识、建议和设想。
讨论的基本内容包括:
①对实验结果进行理论上的分析和论证。不仅要用摘要的形式概述研究的结果,阐明研究结果的意义,以及对本实验多次研究结果的综合分析,而且还要在与前人所作研究结果的比较分析中,将自己的研究纳入某一理论框架以建立或完善理论。
②对本实验研究方法的科学性和局限性的探讨。如对实验误差、出现和常识相违的数据等进行必要的反省,对研究成果的可靠程度和适用范围作进一步说明。
③提出可供深入研究的问题以及本实验研究中尚未解决或需要进一步解决的问题,对未来的研究以及如何推广研究提出建议。
(6)结论
即根据实验结果对实验作个简单的小结。这一部分主要是概括地说明该项实验研究了什么问题,获得了什么结果,证实或否定了什么问题。
“结论”的文字要简短,一般以条目的形式表达。
(7)参考文献
即在实验报告的结尾,把撰写实验报告所引用的别人的材料、数据、论点注明出处。这即可以表明实验报告撰写者的水平,严谨的科学态度,也可以表明对别人劳动成果的尊重,并可给读者提供信息,开阔其视野。
参考文献的排列:在期刊的参考项目中,包括作者的姓名,文章标题,期刊刊名和期号;在书籍的参考项目中,包括作者姓名,书名,出版社名,出版时间及页数。
此外,一个完整的实验报告还应在实验报告题目后署上作者的姓名。特别是要公开发表的实验报告,不仅必须署上作者的姓名还应署上作者工作单位,以表示对实验报告负责和便于读者咨询。作者姓名的先后排列应根据姓氏笔划或对实验贡献的大小,而不应以学术地位或官衔高低为排列先后次序的标准。
第四篇:ARM与嵌入式实验报告
ARM与嵌入式技术
实验报告
专业班级:通信工程
姓名:**** 学号:******
实验日期:2012年6月7日 指导老师:*****
一、实验目的
1.学习使用Embest IDE开发环境及ARM 软件模拟器;
2.掌握简单ARM 汇编指令,进一步加强对嵌入式的熟悉和了解。
二、实验设备
硬件:PC 机
软件:Embest IDE 开发环境
三、实验内容
例3:实现64位加法运算,要求【R1:R0】+【R3:R2】,结果放回【R1:R0】中; 例2:编写程序将R2的高8位传送到R3的低8位(不考虑R3的其它位); 例7:编写一段程序计算10!;
例8:串拷贝(R1指向源数据串的首地址,R0指向目的数据串的首地址)。
四、实验步骤
1)新建工程:
运行Embest IDE 集成开发环境,选择菜单项File → New Workspace,如图一,系统弹出一个对话框,键入文件名“沈”,如图二,点击OK 按钮。将创建一个新工程,并同时创建一个与工程名相同的工作区。此时在工作区窗口将打开该工作区和工程.。
2)建立源文件:
点击菜单项File → New,如图三,系统弹出一个新的文本编辑窗,输入源文件代码。编辑完后,保存文件“沈.s”后缀,如图四。
3)添加源文件:
选择菜单项Project → Add To Project → Files,在工程目录下选择刚才建立的源文件.s后缀文件,如图五,图六。
4)基本配置:
选择菜单项Project → Settings,弹出工程设置对话框。在工程设置对话框中。① 选择Processor 设置对话框,按照图七所示,进行配置:
图七
② 选择Remote设置对话框,按照下图八所示,进行配置:
图八 ③ 选择最右边一个进行编译,显示如图九,则编译成功。
图九
④ 选择Project → Settings → Debug设置对话框,按照图十所示,进行配置:
图十 ⑤
选择
5)选择菜单项Debug →Remote Connect 进行连接软件仿真器,将存储器地址改为0x1000,如图十一,执行Debug →Download 命令下载程序,并打开寄存器窗口。打开memory 窗口,按F10进行单步跟踪,观察寄存器的数据变化并分析。最右边一个进行编译,显示如图九,则编译成功。
图十一
五、各实验的参考程序及运行结果
实验一:(例3)实现64位加法运算,要求【R1:R0】+【R3:R2】,结果放回【R1:R0】中; 1.程序代码如下:
.global _start
.text _start:
mov R0,#11
/*R0=11*/ mov R1,#22
/*R1=22*/ mov R2,#33
/*R2=33*/ mov R3,#44
/*R3=44*/ ADDS R0,R0,R2
/*R0等于低32位相加,并影响标志位*/
ADC R1,R1,R3
/*R1等于高32位相加,并加上低位进位*/ stop:
b stop.end
2.分析调试:
①download下载:
② 读入数据:
③ r0+r2→r0(低32位):
④ r1+r3→r1(带进位的加法):
实验二:(例2)编写程序将R2高8位传送到R3的低8位(不考虑R3的其它位);
1.程序代码如下:
.global _start _start: ldr r2,=0x23453401 ldr r3,=0xabcd1200 and r2,r2,#0xff000000 /*保留R2的高8位,屏蔽低24位*/ and r3,r3,#0xffffff00 /*保留R3的高24位,屏蔽低8位*/
orr r3,r3,r2,lsr #24
/*将R2的高8位传送到R3的低8位*/ stop:
b stop.end
2.分析调试:
①download下载:
②保留r2的高8位,屏蔽低24位:
③保留r3的高24位,屏蔽低8位:
④将R2的高8位传送到R3的低8位:
实验三:(例7)编写一段程序计算10!
1.程序代码如下:
.global _start.text.equ num,10 _start: mov r0,#num mov r1,r0 s1: subs r1,r1,#1
/*把r1-1放入r1*/ mul r0,r1,r0
/*r0*r1放入r0*/ cmp r1,#1
/*比较R1与1的大小*/ beq stop
bne s1 stop: b stop.end
2.分析调试:
① download下载:
② 第一次执行S1,r1=10-1=9,10*9=90,换成16进制是5a。
③ 第二次执行S1,r1=9-1=8,10*9*8=720,换成16进制是2d0。
④ 依次执行S1,到r1=1,停止,10*9*8„„*1=3628800,换成16进制是375f00。
实验四:(例8)串拷贝(R1指向源数据串首地址,R0指向目的数据串的首地址)。1.程序代码如下:.global _start.text.EQU NUM,8 _start:
LDR R0,=srcstr
/*指向源数据串R0*/
LDR R1,=dststr
/*指向目标数据串R1*/
mov R3,#NUM
/*R3=8*/
mov LR,PC
/*返回*/
B strcopy
/*调用串拷贝子程序*/ stop: b stop
strcopy:
LDRB R2,[R0],#1
/*装载字节同时更新地址*/
STRB R2,[R1],#1
/*存储字节同时更新地址*/
SUBS R3,R3,#1
CMP R3,#0
/*判断是否结束*/
BNE strcopy
/*不是,则继续*/
MOV PC,LR
/*返回*/.data
srcstr:.long 1,2,3,4,5,6,7,0
/*定义源数据串*/
dststr:.long 5,3,2,1,4,6,8,0
/*定义目的字符串*/
2.分析调试:
①单步跟踪后的结果及存储器的结果显示:
②寄存器的结果显示:
六、实验心得
今天在实验室里,学习使用Embest IDE开发环境及ARM 软件模拟器,掌握简单ARM 汇编指令,进一步加强了对嵌入式的熟悉和了解。郑老师在兢兢业业的向我们传授实践知识的同时也向我们提问相关理论问题,让我们在学习的过程加深对实践和理论两者之间的联系,知道每一个步骤的发生的原因及产生相应的结果,即对实验的来龙去脉有了更清楚的认识,为今后的学习打下了一定的基础。相信在接下来的实验中,我们会在郑老师的引导下,做起实验来更能得心应手,轻车熟驾!
第五篇:实验报告撰写说明
《商业银行经营管理》实验报告撰写要点说明
实验地点:金融实训室
实验项目一是希望大家掌握:作为银行柜员,如何领取凭证,凭证出库,办理个人储蓄业务的开户,存款,取款等业务。所以实验目的及要求这项,大家结合我刚上传的《智盛教学系统拷贝》来写。
我们实验主要进行了这样一些操作:凭证领用,凭证出库,给客户开通一卡通账户和普通账户。在客户的一卡通账户下,我们开设了一卡通活期,一卡通整存整取,一卡通定活两便等账户;在客户的普通账户下,开设了普通活期、普通整存整取,普通定期等账户。并为这些账户办理了存取款业务。所以实验内容与步骤这项,大家结合自己办理的内容和步骤来写。因为你们可能是办理的不同的账户。
实验结果与数据处理:每个人的数据都不同,在这一项,要反映你们自己开设的尾箱号,领用了哪些凭证,号码是从多少到多少。开通的普通客户的姓名,客户号,为客户开设的账户账号,以及存取款的金额等。
分析与讨论:这点结合你们自己上机的分析或者讨论来写。
上传的《智盛教学系统拷贝》供大家参考!