资源描述:
《ARM嵌入式实验报告.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、湖南工业大学电子信息1203联想124017205XX实验一ARM汇编指令使用实验——基本数学/逻辑运算一、实验目的1.初步学会使用ARMADS/EmbestIDEforARM开发环境及ARM软件模拟器。2.通过实验掌握数据传送和基本数学/逻辑运算的ARM汇编指令的使用方法。二、实验设备1.硬件:PC机。2.软件:ADS1.2/EmbestIDE200X集成开发环境。三、实验内容1.熟悉ADS1.2/EmbestIDE200X开发环境的使用,使用LDR/STR和MOV等指令访问寄存器或存储单元,实现数据的加法运
2、算。具体实验程序如下: /*armasm1a.s*/ .EQUX,45/*定义变量X,并赋值为45*/ .EQUY,64/*定义变量Y,并赋值为64*/ .EQUSTACK_TOP,0X1000/*定义栈顶0X1000*/ .GLOBAL_START .TEXT_START:/*程序代码开始标志*/ MOVSP,#STACK_TOP MOVR0,#X/*X的值放入R0*/ STRR0,[SP]/*R0的值保存到堆栈*/ MOVR0,#Y/*Y的值放入R0*/ LDRR1,[SP]/*取堆栈
3、中的数到R1*/ ADDR0,R0,R1 STRR0,[SP] STOP:BSTOP/*程序结束,进入死循环*/ .END2.使用ADD/SUB/LSL/LSR/AND/ORR等指令,完成基本数学/逻辑运算。具体实验程序如下: /*armasm1b.s*/ .EQUX,45/*定义变量X,并赋值为45*/ .EQUY,64/*定义变量Y,并赋值为64*/ .EQUZ,87/*定义变量Z,并赋值为87*/ .EQUSTACK_TOP,0X1000/*定义栈顶0X1000*/ .GLOBAL_S
4、TART .TEXT _START:/*程序代码开始标志*/ MOVR0,#X/*X的值放入R0*/ MOVR0,R0,LSL#8/*R0的值乘以2的8次方*/ MOVR1,#Y/*Y的值放入R1*/ ADDR2,R0,R1,LSR#1/*R1的值除以2再加上R0后的值放入R2*/湖南工业大学电子信息1203联想124017205XX MOVSP,#0X1000 STRR2,[SP] MOVR0,#Z/*Z的值放入R0*/ ANDR0,R0,#0XFF/*取R0的低八位*/ MOVR1,#
5、Y/*Y的值放入R1*/ ADDR2,R0,R1,LSR#1/*R1的值除以2再加上R0后的值放入R2*/ LDRR0,[SP]/*Y的值放入R1*/ MOVR1,#0X01 ORRR0,R0,R1 MOVR1,R2/*Y的值放入R1*/ ADDR2,R0,R1,LSR#1/*R1的值除以2加上R0的值放入R2*/ STOP:BSTOP/*程序结束,进入死循环*/ .END四、实验操作步骤1.新建工程。先建立一个实验文件夹,如EARMSYarmasm1;然后运行EmbestIDE集成开发环境
6、,选择File→NewWorkspace菜单项,弹出一个对话框,输入工程名armasm1a/armasmlb等相关内容;最后单击OK按钮,将创建一个新工程,并同时创建一个与工程名相同的工作区。此时在工作区窗口将能打开该工作区和工程。2.建立源文件。选择File→New菜单项,弹出一个新的、没有标题的文本编辑窗口,输入光标位于窗口中第一行,按照实验参考程序编辑输入源文件代码。编辑完后,保存文件armasmla.s。3.添加源文件。选择Project→AddToProject→File项或单击工程管理窗口中的相应右
7、键快捷菜单命令,打开文件选择对话框,在工程目录下选择刚才建立的源文件armasmla.s/armasmlb.s。4.基本设置。选择Project→Settings…菜单项或按下快捷键Alt + F7,弹出工程设置对话框;在工程设置对话框中选择Processor属性页,按照使用要求对目标板所用处理器进行设置。5.生成目标代码。选择Build→Buildarmasmla菜单项或按下快捷键F7,生成目标代码。此步骤也可以通过单击工具栏上相应按钮来完成。6.调试设置。选择选择Project→Settings…菜单项或按
8、下快捷键Alt + F7,弹出工程设置对话框;在工程设置对话框中,若选择Remote页面则对调试设备模块进行设置;若选择Debug页面则对调试模块进行设置。7.选择Debug→RemoteConnect连接软件仿真器,执行Download命令下载程序,并打开寄存器窗口。湖南工业大学电子信息1203联想124017205XX8.打开存储器窗口,观察地址0x8000~0x801F的内容以及