嵌入式实验一指南.docVIP

  • 32
  • 0
  • 约1.98千字
  • 约 10页
  • 2018-08-01 发布于湖北
  • 举报
嵌入式实验报告 汇编指令实验1-数据搬移指令 姓名: 学号: 班级: 网络0902 日期: 2012-5-15 1.实验目的 了解ADS1.2集成开发环境及ARMulator软件仿真; 熟悉数据传送方式和ARM的寻址方式; 掌握数据搬移指令MOV、LDR/STR及数据拷贝的程序设计。 实验设备 硬件:PC机一台 软件:Windows98/XP/2000系统,ADS1.2集成开发环境 3.实验内容 建立一个新的工程; 建立一个汇编文件,并添加到工程中; 使用MOV指令及相关的其他指令,编程实现寄存器到寄存器,内存到寄存器的数据搬移方法。 实验预习要求 仔细阅读ARM指令系统的寻址方式和数据搬移指令的功能与用法。 实验步骤 启动ADS1.2 IDE集成开发环境,使用ARM Executable Image 工程模板建立一个工程instruction1。 建立汇编源文件test1.s,编写实验程序,然后添加到工程instruction1中。 设置工程链接地址RO Base为0RW Base为0设置调试入口地址Image entry point为0 编译链接工程,选择[project]-[debug],启动AXD进行软件仿真调试。 打开寄存器窗口(Processor Registers),选择Current项监视相关寄存器的值。打开存储器观察窗口(Memory)设置观察地址为0显示方式Size为32Bit,监视0址上的值。 说明:使用鼠标左键选择某一个寄存器,然后点击鼠标右键,Format项中选择显示格式Hex、Decimal等,如图1.1所示。在Memory窗口中点击鼠标右键,Size项中可以选择显示格式为8Bit、16Bit或32Bit,如图1.2所示。 单步运行程序: 执行LDRH R1, Value语句,程序在Value段定义了 DCW为 word型的数据,16位,LDRH是半字加载指令,将Value段的第一个半字数据 0xC123加载到R1寄存器,寄存器高16位零扩展,PC值改变。 2、 执行STRH R1, Result语句,将R1中低16位的数据存入Result指向的内存单元,PC值改变。 实验参考程序 汇编指令实验1参考程序如下: ;16-bits dat transfer TTL Ch4ex1 - move16 - p.57 AREA Program, CODE, READONLY ENTRY Main LDRH R1, Value ; Load the value to be moved STRH R1, Result ; Store it back in a different location SWI 11 Value DCW C123 ; Value to be moved ALIGN ; Need to do this because working with 16bit value Result DCW 0 ; Storage space END LDR/STR指令拓展(考虑到LDR/STR指令有字处理,半字处理和字节处理,所以一下程序主要是对字数据和字节数据的LDR/STR的应用) 程序: TTL Ch4ex1 - move16 - p.57 AREA Program, CODE, READONLY ENTRY Main LDR R1, Value1 ;Value1指向的内存的第一个字数据加载到R1 LDRB R2,Value2 ;Value2指向的内存第一个字节数据加载到R2 ;R2的高24位零扩展 STR R1, Result1 ;将R1中的字数据存入Result1指向的内存中 SWI 11 Value1 DCD C123 ALIGN Value2 DCB 78 ALIGN Result1 DCD 0 END 单步运行: 1、 2、 3、 实验心得 本次实验主要针对LDR和STR存储加载指令,通过本次实验让我了解了在执行存储或者加载命令是,寄存器和内存的变化,以及对ARM程序执行时PC的变化有了一定了解。 - 1 -

文档评论(0)

1亿VIP精品文档

相关文档