汇编指令实验 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 Base 为0x40000000,RW Base 为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 调试时如何复位程序?
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论