arm汇编指令说明-ARM基本指令实验

arm汇编指令说明-ARM基本指令实验
1、 实验内容或题目
●熟悉开发环境的使用并使用ldr/str,mov 等指令访问寄存器或存储单元。
●使用add/sub/lsl/lsr/and/orr 等指令,完成基本数学/逻辑运算。
2、 实验目的与要求
●初步学会使用Embest IDE for ARM 开发环境及ARM 软件模拟器;
●通过实验掌握简单ARM 汇编指令的使用方法。
3、 实验步骤与源程序
  ⑴ 实验步骤
1) 新建工程:
运行Embest IDE 集成开发环境,选择菜单项File → New Workspace,系统弹出一个对话框,输入相关内容。点击OK 按钮,将创建一个新工程,并同时创建一个与工程名相同的工作区。此时在工作区窗口将打开该工作区和工程。
2) 建立源文件:
点击菜单项File → New,系统弹出一个新的、没有标题的文本编辑窗,输入光标位于窗口中第
一行,按照实验参考程序编辑输入源文件代码。
3) 添加源文件:
选择Project → Add To Project → Files 命令,或单击工程管理窗口中的相应右键菜单命令,
弹出文件选择对话框,在工程目录下选择刚才建立的源文件asm1_a.s。
4) 基本配置:
选择菜单项Project → Settings…或快捷键Alt+F7,弹出工程设置对话框。在工程设置对话框
中,选择Processor 设置对话框,按照图3-2 所示,进行目标板所用处理器的配置。
5) 生成目标代码:
选择菜单项Build → Build asm_a 或快捷键F7,生成目标代码。
6) 调试设置:
选择菜单项Project → Settings…或快捷键Alt+F7,弹出工程设置对话框。在工程设置对话框
中,选择Remote 设置对话框,按照图3-4 所示对调试设备模块进行设置。
7) 选择Debug 菜单Remote Connect 进行连接软件仿真器,执行Download 命令下载程序,
并打开寄存器窗口。打开memory 窗口,观察地址0x8000~0x801f 的内容,与地址0xff0~0xfff
的内容。
8) 单步执行程序并观察和记录寄存器与memory 的值变化。
9) 结合实验内容和相关资料,观察程序运行,通过实验加深理解ARM 指令的使用。
10)理解和掌握实验后,完成实验练习题。

  首先在C盘根目录下找到EmbestIDE文件夹,打开Examples\ARM_Basic\3.1_asm1,这是实验的第一题。系统用EmbestIDE Pro软件打开此项目。然后在软件中操作Build->Build asm1_a,接着再操作Debug Remote Connect,最后操作Debug Download.便能得出结果。
   
  ⑵ 源代码
题目一:
0x00008000  mov        sp, #4096
0x00008004  mov        r0, #45
0x00008008  str        r0, [sp]
0x0000800c  mov        r0, #64
0x00008010  ldr        r1, [sp]
0x00008014  add        r0, r0, r1
0x00008018  str        r0, [sp]
stop :
0x0000801c  b          0x801c
题目二:
0x00008000  mov        r0, #45
0x00008004  mov        r0, r0, lsl #8
0x00008008  mov        r1, #64
0x0000800c  add        r2, r0, r1, lsr #1
0x00008010  mov        sp, #4096
0x00008014  str        r2, [sp]
0x00008018  mov        r0, #87
0x0000801c  and        r0, r0, #255
0x00008020  mov        r1, #64
0x00008024  add        r2, r0, r1, lsr #1
0x00008028  ldr        r0, [sp]
0x0000802c  mov        r1, #1
0x00008030  orr        r0, r0, r1
0x00008034  mov        r1, r2
0x00008038  add        r2, r0, r1, lsr #1
stop :
0x0000803c  b          0x803c
题目三:
新建文件,输入书上源代码。
源程序
.equ R0, 0x8000         
.equ R1, 0x01
.equ R2, 0x10
.global _start
.text
_start:            /* code start */
 STMIB R0!,{R1,R2}
    LDMIA R0!,{R1,R2}
stop:
.end

4、 测试数据与实验结果(可以抓图粘贴)
(1) 实验指导书3.1a工程程序的功能,程序输出结果,寄存器R0,R1,R2的变化过程
(2) 实验指导书3.1b工程程序的功能,程序输出结果,寄存器R0,R1,R2的变化过程
(3) 写出教材P144习题3对应的程序,并得出结果。
(4) 写出实验指导书习题1的程序,并得出结果(选做)。
   
题目一:3.1a程序实现简单加法运算,结果是,,
R0:0->45->64->109
R1:0->45
R2:0
题目二: 3.1b程序实现简单的算术逻辑运算:
R0:0->45->11520->87->11552->11553
R1:0->64->1->119
R2:0->11552->119->11612
题目三:
R0:0->0x8000->0x8008->0x8010
R1:0->0x0001->0x0010
R2:0->0x0010-> 0xe3a02010


5、 结果分析与实验体会
本次嵌入式实验是我们第一次做实验。第一次来到技术中心的901机房,机房中有许多的电脑和实验设备。我们使用的是Embest IDE for ARM这款国产的ARM仿真模拟软件。 Embest IDE 是一套应用于嵌入式软件开发的新一代集成开发环境。它提供高效明晰的图形化的嵌入式应用软件开发平台,包括一整套完备的面向嵌入式系统的开发和调试工具:编辑器、编译器、连接器、调试器、工程管理器等。Embest IDE 集成开发环境界面风格同 Microsoft  Visual Studio,是一套良好的嵌入式软件可视化开发环境。所以对我们来说使用起来不是很困难。
   本次实验中第一个是简单的加法运算,第二个移位运算,第三个是存取的实验。通过此次实验,我们对嵌入式系统的该软件有了初步地了解。相信我们通过以后的实验及课堂教学中能更好的掌握这门知识219

  • 上一篇文章:
  • 下一篇文章:
  • Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有