实验三(ARM编程环境的熟悉及寻址方式实验)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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(如下图所示),观察存储单元中的值,是不是我们程序所运行的结果呢?