嵌入式系统实验报告.doc_第1页
嵌入式系统实验报告.doc_第2页
嵌入式系统实验报告.doc_第3页
嵌入式系统实验报告.doc_第4页
嵌入式系统实验报告.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式系统实验报告 题目:嵌入式系统编程 专业:电子信息工程211班学院:电子信息与控制工程学院6目录1 实验要求32 数据结构分析33 编程思路34 实验结果验证55 源程序51 实验要求 请使用ARM汇编语言完成本题及要求: 有两个源数据区DATA0和DATA1,一个目标数据区DATA2,并且DATA0与DATA1大小都为200个字节;DATA2大小为20个字节; 已知:在数据区DATA0中存放有30个按照以下规律生成的整数,Xi = 4*i - 1 i = 1,2,., 30在数据区DATA1中存放有30个按照以下规律生成的整数,Yj = 2*j + 1 j = 0,1,., 29 算法: 将数据区DATA0内的X数组与DATA1中的数组Y进行矢量点积的运算,求出最终的结果放入DATA2内。 首先将数据区DATA2的内容清零,编程完整程序求解数据区DATA2的内容。2 数据结构分析用SPACE(或%)为DATA0,DATA1,DATA2分别开辟200,200,20大小的空间,按照公式并利用寄存器分别算出Xi,Yj,存入DATA0,DATA1中,DATA0,DATA1中数据相乘存入DATA2中。3 编程思路先为DATA0,DATA1开辟200字节的空间,再设置全局变量num为29,作为计数用,因为Xi是从1开始而Yj是从0开始,为了能让它们在一个循环中完成,改为:Xi = 4*i + 3 i = 0,2,., 29 R2赋0,R6赋4,R4赋3,R5赋1.即Xi=R6*R2+R4,Yj=R3*R9+R5,算完的结果存入DATA0和DATA1中,每次算完一次后R2加一,再与29比较,用CMP影响标志位,如果没有到则继续循环,如果R2到了29开始进行点乘运算,即把DATA0和DATA1中的数据依次取出相乘,每次乘完的结果累加在寄存器中,最后存入DATA2.4 实验结果第一步:START结束后:单步运行多次后的结果:最终结果:5 源程序 AREA PROJECT, CODE, READONLYDATA0 % 200DATA1 % 200DATA2 % 20num EQU 29 ENTRYSTART LDR R0, DATA0 LDR R1, DATA1 MOV R2, #0 ;R2=i MOV R3, #0 ;R3=j MOV R4, #3 MOV R5, #1 MOV R9, #2 MOV R6, #4LOOP1 MUL R7, R2, R6 ADD R8, R7, R4 ADD R2, R2, #1 STRB R8, R0, #1 MUL R10, R9, R3 ADD R11, R5, R10 ADD R3, R3, #1 STRB R11, R1, #1 CMP R2, #num BNE LOOP1 LDR R0, DATA0 LDR R1, DATA1 LDR R9, DATA2 MOV R3, #0LOOP2 LDRB R4, R0, #1 LDRB R5, R1, #1 MUL R6, R5, R4 ADD R7, R7, R6 SUBS R2, R2, #1 BN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论