下载此文档

嵌入式系统与应用实验报告.doc


文档分类:IT计算机 | 页数:约31页 举报非法文档有奖
1/31
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/31 下载此文档
文档列表 文档介绍












班级:网络111
姓名:石长江
学号:201100824123

实验一汇编指令试验
一、实验目的
􀀀掌握ARM7TMDI 汇编指令的用法,并能编写简单的汇编程序;
􀀀学习ARM 微控制器的16 位Thumb 汇编指令的使用方法
􀀀掌握指令的条件执行
二、实验设备
􀀀硬件:嵌入式实验平台一套、仿真器一个、PC 机一台。
􀀀软件:Windows 98/2000/NT/XP 操作系统、仿真器驱动程序、ADS 开发软件一套。
三、实验内容
分别使用ARM、Thumb 指令ADD,MOV,CMP,B 计算1+2+3+…+N 的值。
四、实验原理
ARM 处理器共有两种工作状态:
􀀀 ARM 32 位,这种状态下执行字对准的ARM 指令。
􀀀 Thumb 16 位,这种状态下执行半字对准的Thumb 指令。
注意:ARM 和Thumb 之间状态的切换不影响处理器的模式或寄存器的内容。
ARM 处理器在两种工作状态之间可以切换。
(1) 进入Thumb 状态。当操作数寄存器的状态位0 为1 时,执行BX 指令进入Thumb 状
态。如果处理器在Thumb 状态进入异常,则当从异常出来(IRQ、FIQ、Undef、Abort、SWI)
返回时,自动切换到Thumb 状态。
(2)进入ARM 状态。当操作数寄存器的状态位0 为0 时,执行BX 指令进入ARM 状态。处
理器进行异常处理(IRQ、FIQ、Undef、Abort、SWI)。在此情况下,把PC 放入异常模
式链接寄存器中。从异常向量地址开始执行也可以进入ARM 状态。
Thumb 状态下的寄存器集是ARM 状态下寄存器集的子集。程序员可以直接访问8 个通用
寄存器(R0-R7)、PC、SP、LR 和CPSP。每一种特权模式都有一组SP、LR 和SPSR。
􀀀 Thumb 状态的R0-R7 与ARM 状态的R0-R7 一致。
􀀀 Thumb 状态的CPSR 和SPSR 与ARM 状态下的CPSR 和SPSR 一致。
􀀀 Thumb 状态的SP 映射到ARM 状态的R13。
􀀀 Thumb 状态的LR 映射到ARM 状态的R14。
􀀀 Thumb 状态的PC 映射到ARM 状态的PC(R15)。
本程序使用R0 保存结果,所以一开始就要初始化为0;循环执行R0=R0+R1,R1 为循环计
数器,从1 开始计数,每一次循环R1 加1;当循环计数器R1 的值到达N 时,运算结束。
五、实验操作步骤
,使用ARM Execuatable Image 工程模板建立一个工程ASM_Project。
,编写实验程序,然后添加到工程中(ARM 指令和Thumb 指令实验
程序源码分别见下清单) 。
Base 为0x0C000000
,选择【Project】->【Debug】,启动AXD 进行调试。
(Processor Registers),选择Current 项监视各寄存器的值。
,注意执行BX R0 指令前后CPSR 寄存器的T 位。
说明:在寄存器窗口的CPSR 寄存器,大写字母的位表示该位为1,小写字母的位表示该
位为0(比如“T”表示T 位为1,“t”表示T 位为0)。
,完成练习题
六、实验参考程序
Thumb 汇编指令实验的参考程序代码清单
;文件名:
;功能:计算1+2+3+…+N 的值
N EQU 50 定义N的值为50
AREA testcode,CODE,READONLY 区域名为testcode,代码,只读
ENTRY 入口
CODE32
ARM_CODE LDR SP,=0x40003F00 sp=0x40003F00
ADR R0,THUMB_CODE+1 将分支目标地址送R0,使R1的bit[0]=1
BX R0 分支并且转换为thumb状态
CODE16 汇编以下代码为thumb指令
THUMB_CODE
LDR R0,=N 伪指令R0=50
BL SUM_N 跳转到SUM_N执行
B THUMB_CODE 跳转到THUMB_CODE,thumb模式
;名称:SUM_N
;功能:计算1+2+3+…+N 的值
;入口参数:R0( N 的值)
;出口参数:R0( 运算结果)
SUM_N
PUSH {R1-R7,LR}
MOVS R2,R0 R0的内容

嵌入式系统与应用实验报告 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数31
  • 收藏数0 收藏
  • 顶次数0
  • 上传人一花一世
  • 文件大小1.02 MB
  • 时间2018-10-01