图1.20 添加寄存器观察界面
图1.21 添加寄存器观察界面
图1.22 添加寄存器观察界面
图1.23 寄存器值界面(代码没有运行前)
图1.24 寄存器值界面(代码运行到第6行)
图1.25 寄存器值界面(代码运行到第7行)
注意观察此时R0 = R0 + R1 = 15 + 8 = 23 = 0x17
图1.26 寄存器值界面(以十六进制显示)
图1.27 寄存器值界面(以十进制显示)
1.6 思考
(1)工程模板有哪些作用?(提示:编译控制设置)
(2)如何强行重新编译工程的所有文件?(提示:选择Project-〉Remove Object Code删除工程中的*.obj文件。)
实验二 汇编指令实验1
2.1 实验目的
? 了解ADS1.2集成开发环境及ARMulator软件仿真。
? 掌握ARM7TDMI汇编指令的用法,并能编写简单的汇编程序。 ? 掌握指令的条件执行以及使用LDR/STR指令完成存储器的访问。
2.2 实验设备
? 硬件:PC机 一台
? 软件:Windows XP/2000系统,ADS1.2集成开发环境
2.3 实验内容
(1)在存储器地址为0x40003100上开辟一个计数器变量(COUNT),对其进行计数(每次加1),记到10后重新开始计数。
C语言描述的伪算法为
for(int count = 0 ;count<=10;count++)
需要将存储器的值放到CPU寄存器中参与计算。具体算法为:使用LDR指令读取0x40003100上的数据,将数据加1,若结果小于10,则使用STR指令把结果写回原地址;若结果大于或等于10,则把0写回原地址。
ARM处理器是加载、存储体系结构的典型的RISC处理器,对存储器的访问只能使用加载和存储指令实现。LDR/STR指令用于对内存变量的访问,内存缓冲区数据的访问、查表、外围部件的控制操作等。
(2)使用ADS软件仿真,单步、全速运行程序,设置断点,打开寄存器窗口(Processor Register)监视R0和R1的值,打开存储器观察窗口(Memory)监视0x40003100上的值。
2.4 实验预习要求
(1)仔细阅读课本第3章的内容
(2)仔细阅读文档《ADS集成开发环境及EasyJTAG-H仿真器应用》或其他相关资料,了解ADS工程编辑和AXD调试的内容。(本实验使用软件仿真)