Forpersonaluseonlyinstudyandresearch;mercialuseARM与嵌入式技术实验报告专业班级:通信工程姓名:****学号:******实验日期:2012年6月7日指导老师:*****一、;,进一步加强对嵌入式的熟悉和了解。二、实验设备硬件:PC机软件:EmbestIDE开发环境三、实验内容例3:实现64位加法运算,要求【R1:R0】+【R3:R2】,结果放回【R1:R0】中;例2:编写程序将R2的高8位传送到R3的低8位(不考虑R3的其它位);例7:编写一段程序计算10!;例8:串拷贝(R1指向源数据串的首地址,R0指向目的数据串的首地址)。四、实验步骤1)新建工程:运行EmbestIDE集成开发环境,选择菜单项File→NewWorkspace,如图一,系统弹出一个对话框,键入文件名“沈”,如图二,点击OK按钮。将创建一个新工程,并同时创建一个与工程名相同的工作区。此时在工作区窗口将打开该工作区和工程.。2)建立源文件:点击菜单项File→New,如图三,系统弹出一个新的文本编辑窗,输入源文件代码。编辑完后,保存文件“”后缀,如图四。3)添加源文件:选择菜单项Project→AddToProject→Files,,如图五,图六。4)基本配置:选择菜单项Project→Settings,弹出工程设置对话框。在工程设置对话框中。选择Processor设置对话框,按照图七所示,进行配置:图七选择Remote设置对话框,按照下图八所示,进行配置:图八选择最右边一个进行编译,显示如图九,则编译成功。图九选择Project→Settings→Debug设置对话框,按照图十所示,进行配置:图十选择最右边一个进行编译,显示如图九,则编译成功。5)选择菜单项Debug→RemoteConnect进行连接软件仿真器,将存储器地址改为0x1000,如图十一,执行Debug→Download命令下载程序,并打开寄存器窗口。打开memory窗口,按F10进行单步跟踪,观察寄存器的数据变化并分析。图十一五、各实验的参考程序及运行结果实验一:(例3)实现64位加法运算,要求【R1:R0】+【R3:R2】,结果放回【R1:R0】中;:.:movR0,#11/*R0=11*/movR1,#22/*R1=22*/movR2,#33/*R2=33*/movR3,#44/*R3=44*/ADDSR0,R0,R2/*R0等于低32位相加,并影响标志位*/ADCR1,R1,R3/*R1等于高32位相加,并加上低位进位*/stop::①download下载:②读入数据:③r0+r2→r0(低32位):④r1+r3→r1(带进位的加法):实验二:(例2)编写程序将R2高8位传送到R3的低8位(不考虑R3的其它位);:.global_start_start: ldrr2,=0x23453401 ldrr3,=0xabcd1200 andr2,r2,#0xff000000/*保留R2的高8位,屏蔽低24位*/ andr3,r3,#0xffffff00/*保留R3的高24位,屏蔽低8位*/ orrr3,r3,r2,lsr#24/*将R2的高8位传送到R3的低8位*/stop::①download下载:②保留r2的高8位,屏蔽低24位:③保留r3的高24位,屏蔽低8位:④将R2的高8位传送到R3的低8位:实验三:(例7)编写一段程序计算10!:.,10_start: movr0,#num movr1,r0s1: subsr1,r1,#1/*把r1-1放入r1*/ mulr0,r1,r0/*r0*r1放入r0*/ cmpr1,#1/*比较R1与1的大小*/ beqstop bnes1 stop: :①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指向目的数据串的首地址)。:.,8_start:LDRR0,=srcstr/*指向源数据串R0*/
ARM与嵌入式实验报告 来自淘豆网m.daumloan.com转载请标明出处.