您所在位置: 网站首页 / 嵌入式实验报告编辑精选.docx / 文档详情
嵌入式实验报告编辑精选.docx 立即下载
2025-08-27
约3.4万字
约63页
0
39KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

嵌入式实验报告编辑精选.docx

嵌入式实验报告编辑精选.docx

预览

免费试读已结束,剩余 58 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

嵌入式实验报告

第一篇:嵌入式实验报告实验一ARM汇编语言程序设计一、实验目的1.了解IAREmbeddedWorkbench集成开发环境2.掌握ARM汇编指令程序的设计及调试二、实验设备1.PC操作系统WIN98或WIN2000或WINXP,ADSI.2集成开发环境,仿真驱动程序三、实验内容1.熟悉IAREmbeddedWorkbench集成开发环境2.理解下列程序,新建工程,加入下面的程序,并观察实验结果,解释程序实现的功能分析:该程序实现的功能是程序功能:Y=A*B+C*D+E*F程序代码:AREAExaml,CODE,READONLY;定义一个代码段ENTRY;程序入口MOVR0,#0;设置R0寄存器的值为0MOVR8,#0;设置R8寄存器的值为0ADRR2,N;将R2寄存器的值设为数据域N的地址LDRR1,[R2];将以R2的值为地址的数据读入R1MOVR2,#0;设置R2的值为0ADRR3,C;将R3寄存器的值设为数据域C的地址ADRR5,X;将R5寄存器的值设为数据域X的地址LOOPLDRR4,[R3,R8];将R3+R8的数据读入R4LDRR6,[R5,R8];将R5+R8的数据读入R6MULR9,R4,R6;R9=R4*R6ADDR2,R2,R9;R2=R2+R9ADDR8,R8,#4;R8=R8+4ADDR0,R0,#1;R0=R0+1CMPR0,R1;比较R0和R1的值BLTLOOP;R0执行结果如下:3.实现1+2+3+4+····+100,求的值,并保存在地址0x90018的地址里面程序代码:MOVR0,#100;设置R0寄存器的值为100LDRR2,=0X90018;设置R2寄存器指向地址0x90018MOVR1,#0;设置R1的值为0MOVR3,#0;设置R3的值为0LOOPADDR3,R3,R0;R3=R3+R0SUBR0,R0,#1;R0=R0-1CMPR0,R1;将R0和R1的值比较BNELOOP;不相等的话继续执行循环STRR3,[R2];将R3的值装入到R2指向的地址块中。END程序执行结果:程序执行完在0x90018内存入的数据是0x13ba即5050实验二ARM汇编语言程序设计一、实验目的1.了解ARM汇编语言的基本框架,学会使用ARM的汇编语言编程;2.掌握ARM汇编指令中的堆栈指令的操作,以及存储器的装载指令操作。二、实验设备1.PC操作系统WIN98或WIN2000或WINXP,ADS1.2.集成开发环境,仿真器驱动程序。三、实验内容1.理解下列程序,新建工程,加入下面的程序,并观察实验结果程序代码:xEQU15;定义常量x=15yEQU61;定义常量y=61stack_topEQU0X1000;定义堆栈栈顶地址为0x1000ENTRY;程序入口处MOVsp,#stack_top;将堆栈指针指向栈顶MOVr0,#x;将x的值放入r0STRr0,[sp];将r0的值压入堆栈MOVr0,#y;将y的值放入r0LDRr1,[sp];将x的值放入r1ADDr0,r0,r1;r0=r0+r1STRr0,[sp];将r0的值装入堆栈Stop;Bstop;程序结果为:r1=x+y=0x6D2.编写程序循环R4~R11进行累加8次赋值,R4~R11初始值是1~8,每次操作后把R4~R11的内容放到SP栈中,SP初始设置为0x800,最后把R4~R11用LDMFD指令清空为0程序代码如下:XEQU1;定义常量x=1stack_topEQU0X800;定义栈顶地址ENTRY;MOVSP,#stack_top;将栈顶地址指向0x800MOVR4,#1;设置R4=1MOVR5,#2;设置R5=2MOVR6,#3;设置R6=3MOVR7,#4;设置R7=4MOVR8,#5;设置R8=5MOVR9,#6;设置R9=6MOVR10,#7;设置R10=7MOVR11,#8;设置R11=8LOOPADDR4,R4,#x;R4累加1ADDR5,R5,#x;R5累加1ADDR6,R6,#x;R6累加1ADDR7,R7,#x;R7累加1ADDR8,R8,#x;R8累加1ADDR9,R9,#x;R9累加1ADDR10,R10,#x;R10累加1ADDR11,R11,#x;R11累加1STMIASP!,{R4-R11};将R4-R11的值压入堆栈CMPR4,#9;比较R4和9的大小BLTLOOP;R4LDMFDSP!,{R4-R11};将R4-R11清零END;实验结果:主要实现将数据2-9,3-10,4-11……9-16压入堆栈(初始地址是0x800处开始),最后将R4-R11全部清零。3.更改实验中1中的X,Y的值,观察期结果程序代码:xEQU20yEQU120stack_topEQU0X1000ENTRYMOVs
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

嵌入式实验报告编辑精选

文档大小:39KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用