下载此文档

最新嵌入式实验报告(00002).docx


文档分类:IT计算机 | 页数:约18页 举报非法文档有奖
1/18
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/18 下载此文档
文档列表 文档介绍
嵌入式实验报告
实验一 ARM汇编语言程序设计
实验目的
了解IAR Embedded Workbench 集成开发环境
掌握ARM汇编指令程序的设计及调试
实验设备
PC操作系统WIN98或WIN2000或WINX 1;定义常量x = 1
stack_top EQU 0X800;定义栈顶地址
ENTRY;
MOV SP,#stack_top;将栈顶地址指向0x800
MOV R4,#1;设置R4 = 1
MOV R5,#2;设置R5 = 2
MOV R6,#3;设置R6 = 3
MOV R7,#4;设置R7 = 4
MOV R8,#5;设置R8 = 5
MOV R9,#6;设置R9 = 6
MOV R10,#7;设置R10 = 7
MOV R11,#8;设置R11 = 8
LOOP
ADD R4,R4,#x; R4累加1
ADD R5,R5,#x; R5累加1
ADD R6,R6,#x; R6累加1
ADD R7,R7,#x; R7累加1
ADD R8,R8,#x; R8累加1
ADD R9,R9,#x; R9累加1
ADD R10,R10,#x; R10累加1
ADD R11,R11,#x; R11累加1
STMIA SP!,{R4-R11};将R4-R11的值压入堆栈
CMP R4,#9;比拟R4和9的大小
BLT LOOP;R4 < 9继续执行循环
LDMFD SP!,{R4-R11};将R4-R11清零
END;
实验结果:主要实现将数据2-9,3-10,4-11……9-16压入堆栈〔初始地址是0x800处开始〕,最后将R4-R11全部清零。
更改实验中1中的X,Y的值,观察期结果
程序代码:
x EQU 20
y EQU 120
stack_top EQU 0X1000
ENTRY
MOV sp,#stack_top
MOV r0,#x
STR r0,[sp]
MOV r0,#y
LDR r1,[sp]
ADD r0,r0,r1
STR r0,[sp]
Stop
B Stop
END
程序结果为:r0 = x+y = 140 = 0X8C
实验三 ARM汇编语言程序设计
一、 实验目的
,学会使用ARM的汇编语言编程
,及if条件、循环、循环及循环的汇编实现
二、实验设备
,,仿真器驱动程序
三、实验内容
理解以下程序,新建工程,参加下面的程序,并观察实验结果
程序代码:
Num EQU 20;定义常量Num = 20
START;
LDR r0,=src;将src数据块的开始地址存入r0中
LDR r1,=dst; 将dst数据块的开始地址存入r1中
MOV r2,#Num;设置r2的值为20
MOV sp,#0x400;堆栈指针sp指向0x400
blockcopy;
MOVS r3,r2,LSR #3;将r2左移3位移入r3并且影响标志位
BEQ copywords;结果为0的话跳转到copywords
STMFD SP!,{r4-r11};将r4-r11的值入栈
octcopy;
LDMIA r0!,{r4-r11};将src的前8个字数据存入让r4-r11
STMIA r1!,{r4-r11};将r4-r11中的数据放入dst数据块中
SUBS r3,r3,#1;r3 = r3-1
BNE octcopy;结果不为0跳转到octcopy
LDMFD SP!,{R4-R11};恢复原来的r4-r11
copywords;
ANDS r2,r2,#7; r2 = r2&7
BEQ stop;结果为0跳转到stop
wordcopy;
LDR r3,[r0],#4;将r0指向的字数据放入r3中,r0 = r0+4
STR r3,[r1],#4;将r3中的数据存入到dst数据块中,r1 = r1+4
SUBS r2,r2,#1;r2 = r2 -1
BNE wordcopy;不为0跳转到wordcopy处
stop;

最新嵌入式实验报告(00002) 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数18
  • 收藏数0 收藏
  • 顶次数0
  • 上传人小果冻
  • 文件大小1.26 MB
  • 时间2022-03-21