实验三(ARM编程环境的熟悉及寻址方式实验)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三ARM编程环境熟悉及寻址方式实验

注意:本实验在模拟环境下进行!!

一、实验目的:

1、进一步熟悉ARM的编程工具MDK;

2、深刻理解ARM汇编指令中标号的本质;

3、熟悉ARM寻址方式(寄存器寻址、寄存器间接寻址等);

二、实验步骤:

1、参照实验二的步骤,建立工程exp

2、设置工程、建立源文件

exp2.s并将其添加到工程,在exp2.s中输入如下代码(可复制):;广州大学华软软件学院

;文件名:exp2.s

;功能:

;作者:

;日期:

;修改:

area init,code,readonly

entry

ldr r0,=data1;将标号data1的值送给r0

ldr r1,=data2;

ldr r2,=data3

ldr r0,[r0]

ldr r1,[r1]

add r0,r0,r1

str r0,[r2]

b .;相当于while(1)

data1

dcd 12;定义一个字,初值为12

data2

dcd 13;定义一个字,初值为13

data3

dcd 0;定义一个字,初值为0

end

2、编译正确后调试(可参照实验二),注意Ro_Base设置为

0x30000000,点击下图菜单中的菜单项,调出内存单元观察窗口。

会弹出如下界面:

点击current,就会看到当前模式下的寄存器

按F10进行单步调试,同时观察寄存器中的变化;

反汇编界面:

出现如下界面:鼠标右键,如图选中,即可看到源代码的反汇编窗口。

我们发现data1代表的地址是0x30000020,data2代表的地址是0x30000024,data3代表的地址是0x30000028。好,我们现在通过memory窗口来查看这些内存单元的内容:

在存储单元窗口输入0x30000020(如下图所示),观察存储单元中的值,是不是我们程序所运行的结果呢?

相关文档
最新文档