实验二B--汇编指令实验_第1页
实验二B--汇编指令实验_第2页
实验二B--汇编指令实验_第3页
实验二B--汇编指令实验_第4页
实验二B--汇编指令实验_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验三 汇编指令实验一、实验环境 PC机 一台 ADS 1.2集成开发环境 一套二、实验目的1.了解ADS 1.2集成开发环境及ARMulator软件仿真方法;2. 掌握ARM7TDMI汇编指令的用法,并能编写简单的汇编程序;3.掌握指令的条件执行和使用LDR/STR指令完成存储器的访问。三、实验内容1.使用LDR/STR指令完成存储器的访问。2.使用数据处理指令实现数据传送和算术和逻辑运算。3.使用ADS 1.2软件仿真,单步、全速运行程序,设置断点,打开寄存器窗口(Processor Registers)监视寄存器的值,打开存储器观察窗口(Memory) 监视存储器的值。根据以上要求完成该操作:使用LDR指令读取0x上的数据,将数据加1,若结果小于10则使用STR指令把结果写回原地址,若结果大于等于10,则把0写回原地址周而复此循环;使用ADS 1.2软件仿真,单步、全速运行程序,设置断点,打开寄存器窗口(Processor Registers)监视R0、R1的值,打开存储器观察窗口(Memory) 监视0x上的值。 四、实验步骤(1) 启动ADS 1.2,使用ARM Executable Image工程模板建立一个工程Instruction1。(2) 建立汇编源文件TEST2.S,编写实验程序,然后添加到工程中。(3) 设置工程链接地址RO Base为0x,RW Base为0x。设置调试入口地址Image entry point为0x。(4) 编译链接工程,选择【Project】-【Debug】,启动AXD进行软件仿真调试。(5) 打开寄存器窗口(Processor Registers),选择Current 项监视R0,R1 的值。打开存储器观察窗口(Memory),设置观察地址为0x,显示方式Size 为32Bit,监视0x 地址上的值。图2-1 Memory 窗口显示格式设置寄存器显示格式与之类似。使用鼠标左键选择某一个寄存器,然后点击鼠标右键,Format 项中选择显示格式Hex,Decimal 等等。如图2-2 所示。图2-2设置寄存器显示格式(6)单步运行程序,可以设置/取消断点,或者全速运行程序,停止程序运行,调试时观察寄存器和0x地址上的值。 图2-3 调试程序窗口六、思考题1.LDR伪指令与LDR加载指令的功能和应用有何区别,举例说明? 2.LDR/STR指令的前索引偏移指令如何编写?指令是怎样操作的? 3.在AXD调试时如何复位程序? (提示:选择【File】-【Reload Current Image】重新加载映象文件) 七、参考程序COUNTEQU0x; 定义一个变量,地址为0xAREAExample2,CODE,READONLY; 声明代码段Example2 ENTRY; 标识程序入口CODE32; 声明32位ARM指令STARTLDRR1,=COUNT; R1 = COUNTMOVR0,#0; R0 = 0 STRR0,R1; R1 = R0,即设置COUNT为0LOOP LDRR1,=COUNTLDRR0,R1; R0 = R1 ADDR0,R0,#1; R0 = R0 + 1CMPR0,#10; R0与10比较,影响条件码标志MOVHSR0,#0; 若R0大于等于10,则此指令执行,R0 = 0STR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论