当前位置:文档之家› 实验三(ARM编程环境的熟悉及寻址方式实验)

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

实验三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(如下图所示),观察存储单元中的值,是不是我们程序所运行的结果呢?。

相关主题