汇编指令实验 1
汇编指令实验1
捧月
1.1 实验目的
1.了解ADS 1.2 集成开发环境及ARMulator 软件仿真;
2.掌握ARM7TDMI 汇编指令的用法,并能编写简单的汇编程序;
3. 掌握指令的条件执行和使用LDR/STR 指令完成存储器的访问。
1.2 实验设备
硬件:PC 机一台一只小短短
微信改绑手机号
软件:Windows98/XP/2000 系统,ADS 1.2 集成开发环境
智慧乡村
1.3 实验内容
使用LDR 指令读取0x40003100 上的数据,将数据加1,若结果小于10 则使用STR 指令把结果写回原地址,若结果大于等于10,则把0 写回原地址。
使用ADS 1.2 软件仿真,单步、全速运行程序,设置断点,打开寄存器窗口(Processor Registers)监视R0、R1 的值,打开存储器观察窗口(Memory) 监视0x40003100 上的值。
1.4 实验预习要求
ADS集成开发环境
1.5 实验步骤
1. 启动ADS 1.2,使用ARM Executable Image 工程模板建立一个工程Instruction1。
2. 建立汇编源文件TEST2.S,编写实验程序,然后添加到工程中。
3. 设置工程连接地址RO Ba 为0x40000000,RW Ba 为0x40003000。设置调试入
口地址Image entry point 为0x40000000。如图1,图2所示。
图1. 工程链接地址
图2. 工程调试入口地址
有时候造句>古田翠屏湖
山西大同云冈石窟4. 编译连接工程,选择【Project】->【Debug】,启动AXD 进行软件仿真调试。如图3所示。
图3. 启动AXD
关于夏天的作文
5. 打开寄存器窗口(Processor Registers),选择Current 项监视R0、R1 的值。打开存储器观察窗口(Memory) 设置观察地址为0x40003100,显示方式Size 为32Bit,监视
0x40003100 地址上的值。
图4 存储器显示窗口
说明:在Memory 窗口中点击鼠标右键,Size 项中选择显示格式为8Bit、16Bit、32Bit。如图4所示。
图5 运行结果
6. 可以单步运行程序,可以设置/取消断点,或者全速运行程序,停止程序运行,调试时观察寄存器和0x40003100 地址上的值。运行结果见图5。
1.6 实验参考程序
汇编指令实验1 的参考程序见程序清单1。
1.7 思考题
1.若使用LDRB/STRB 代替程序清单1 中的所有加载/存储指令(LDR/STR),程序会得到正确的执行吗?
2.LDR 伪指令与LDR 加载指令的功能和应用有何区别,举例说明?(提示:LDR 伪指令的形式为“LDR Rn,=expr”)
3.LDR/STR 指令的前索引偏移指令如何编写?指令是怎样操作的?
4.在AXD 调试时如何复位程序?