学 生 实 验 报 告
(参考样本)
学 院:软通学院
课程名称:ARM体系结构与编程 专业班级:物联网173 姓 名:郑慧乐 学 号:0174280
学生实验报告
(理、工科类专业用)
学生姓名 实验项目 郑慧乐 学号 0174280 同组人:无 实验六 ARM程序设计-程序结构3 必修 □选修 演示性实验 □验证性实验 操作性实验 □综合性实验 实验地点 指导教师 H113 朱华贵 实验仪器台号 F0 实验日期及节次 2019.6.10——56节次
一、实验综述
1、实验目的及要求
任务1:BUFF数据区有N个有符号字数据。求BUFF数组的最大值、最小值、数组元素之和。 任务2:用汇编语言实现以下C程序功能 f=0;
for(i=1;i<=10;i++) {f=f+i;}
任务3:用汇编语言实现以下C语言程序功能 while(x<=y) x*=2;
2、实验仪器、设备或软件
(1)硬件:PC机一台;
(2)软件:Keil μVision 4 for ARM集成开发环境。
二、实验过程(实验步骤、记录、数据、分析) 见三、结论 三、结论
实验6-1
运行结果
代码
;1、任务1:BUFF数据区有N个有符号字数据。求BUFF数组的最大值、最小值、数组元素之和。 AREA TEST6_1,CODE,READONLY ENTRY CODE32 START
LDR R0,=BUFF ;数据段首地址 LDR R1,=max ;最大值地址 LDR R2,=min ;最小值地址 LDR R3,=SUM ;累加和目的地址 ADD R4,R0,#N ;数据段末尾地址 LP
CMP R0,R4 ;判断是否指向最后一位数据 BHS STOP
LDR R5,[R0],#4 ;取出数据,指针指向下一位数据 ADD R6,R6,R5 ;累加求和
STR R6,[R3] ;将所求的和存入目的地址 LP1
LDR R7,[R1] ;取出当前最大值
CMP R5,R7 ;当前最大值与数据段中数据比较 BGT MAX B LP2 MAX
STR R5,[R1] ;将比较后的最大值存入相应地址 LP2
LDR R7,[R2] ;取出当前最小值
CMP R7,R5 ;当前最小值与数据段中数据比较 BGT MIN
B LP MIN
STR R5,[R2] ;将比较后的最小值存入相应地址 B LP STOP
B STOP ;结束
AREA TEST6_1,DATA,READONLY N EQU 10*4 min DCD 0x7FFFFFFF max DCD 0x80000000 SUM SPACE 1*4
BUFF DCD 11,22,33,44,55,66,77,88,99,-11 END
实验6-2
运行结果
;2、任务2:用汇编语言实现以下C程序功能 ;f=0;
;for(i=1;i<=10;i++) {f=f+i;} AREA TEST6_2,CODE,READONLY ENTRY CODE32 START
LDR R0,=0;初始和 LDR R1,=1;初始变量值 LDR R2,=n;最大变量值 LP1
ADD R0,R1,R0;进行累加 STR R0,[R3];将和存入目的地址 ADD R1,#1;变量加1 CMP R1,R2 BLS LP1
STOP
B STOP;结束
n EQU 10;定义n为数据常量10 END
实验6-3
运行结果
代码
;3、任务3:用汇编语言实现以下C语言程序功能 ;while(x<=y) ;x*=2;
AREA TEST6_3,CODE,READONLY ENTRY CODE32 START
LDR R0,=x;x的地址 LDR R1,=y;y的地址 LOOP
STR R0,[R2];存放x的地址 ADD R0,R0,R0;x*=2 CMP R0,R1 BLS LOOP
STR R0,[R2];存放x的地址 STOP
B STOP;结束 x EQU 1 y EQU 9 END
流程图
2、分析讨论
本次实验主要涉及c语言中的for、while、数组等相关内容,通过编写对该部分内容进行了复习,并以汇编的形式给出,总体上较为简单。
四、指导教师评语及成绩:
评语:指导教师依据学生的实际报告内容,用简练语言给出本次实验报告的评价和价值
成绩: 指导教师签名:
批阅日期:
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务