南邮嵌入式系统B实验报告2016-2017-2

南邮嵌入式系统B实验报告2016-2017-2

ID:47474879

大小:634.51 KB

页数:17页

时间:2020-01-11

南邮嵌入式系统B实验报告2016-2017-2_第1页
南邮嵌入式系统B实验报告2016-2017-2_第2页
南邮嵌入式系统B实验报告2016-2017-2_第3页
南邮嵌入式系统B实验报告2016-2017-2_第4页
南邮嵌入式系统B实验报告2016-2017-2_第5页
资源描述:

《南邮嵌入式系统B实验报告2016-2017-2》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、南京邮电大学通信学院实验报告实验名称:基于ADS开发环境的程序设计嵌入式Linux交叉开发环境的建立嵌入式Linux环境下的程序设计多线程程序设计课程名称嵌入式系统B班级学号姓名开课学期2016/2017学年第2学期实验一基于ADS开发环境的程序设计一、实验目的1、学习ADS开发环境的使用;2、学习和掌握ADS环境下的汇编语言及C语言程序设计;3、学习和掌握汇编语言及C语言的混合编程方法。二、实验内容1、编写和调试汇编语言程序;2、编写和调试C语言程序;3、编写和调试汇编语言及C语言的混合程序;三、实

2、验过程与结果1、寄存器R0和R1中有两个正整数,求这两个数的最大公约数,结果保存在R3中。代码1:使用C内嵌汇编#includeintfind_gcd(intx,inty){intgcdnum;__asm{MOVr0,xMOVr1,yLOOP:CMPr0,r1SUBLTr1,r1,r0SUBGTr0,r0,r1BNELOOPMOVr3,r0MOVgcdnum,r3//stop//Bstop//END}returngcdnum;}intmain(){inta;a=find_gcd(18

3、,9);printf("gcdnum:%d",a);return0;}代码2:使用纯汇编语言AREAexample1,CODE,readonlyENTRYMOVr0,#4MOVr1,#9startCMPr0,r1SUBLTr1,r1,r0SUBGTr0,r0,r1BNEstartMOVr3,r0stopBstopEND2、寄存器R0、R1和R2中有三个正整数,求出其中最大的数,并将其保存在R3中。代码1:使用纯汇编语言AREAexamp,CODE,READONLYENTRYMOVR0,#10MOV

4、R1,#30MOVR2,#20StartCMPR0,R1BLElbl_aCMPR0,R2MOVGTR3,R0MOVLER3,R2Blbl_blbl_aCMPR1,R2MOVGTR3,R1MOVLER3,R2lbl_bB.END代码2:使用C内嵌汇编语言#includeintfind_maxnum(inta,intb,intc){intx;__asm{MOVr0,aMOVr1,bMOVr2,cCMPr0,r1BLElbl_a//相等跳转CMPr0,r2MOVGTx,r0MOVLEx,r

5、2//MOVr3,xBlbl_blbl_a:CMPr1,r2MOVGTx,r1MOVLEx,r2//MOVr3,xlbl_b:}returnx;}intfor_r3(intt){//intt;__asm{MOVr3,t}return0;}intmain(){inta;a=find_maxnum(130,50,70);for_r3(a);printf("max:%dr",a);return0;}3、编程实现将从地址source开始的30个字节数据复制到地址为dest的地方。代码:NUMEQU30A

6、REAInit,CODE,READONLYCODE32ENTRYSTARTLDRR0,=SOURCELDRR1,=DESTMOVR2,#NUMMOVSP,#0X400BLKCOPYMOVR3,R2,LSR#3BEQCOPYWORDSSTMFDSP!,{R4-R11}OCTCOPYLDMIAR0!,{R4-R11}STMIAR1!,{R4-R11}SUBSR3,R3,#1BNEOCTCOPYLDMFDSP!,{R4-R11}COPYWORDSANDSR2,R2,#7BEQSTOPWORDCOPYLDRR

7、3,[R0],#4STRR3,[R1],#4SUBSR2,R2,#1BNEWORDCOPYSTOPBSTOPLTORGSOURCEDCD1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,1,2,3,4,5,6DESTDCD0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0END4、用汇编语言设计实现10!。代码:使用纯汇编语言AREAFctrl,CODE,READONLYENTRYCODE

8、32STARTMOVR8,#10MOVR9,#0SUBR0,R8,#1LoopMOVR1,R9UMULLR8,R9,R0,R8MLAR9,R1,R0,R9SUBSR0,R0,#1BNELoopStopBStopEND5、实现字符串的逆序复制TEXT1=”HELLO”=>TEXT2=”OLLEH”。代码:使用纯汇编语言AREAinvstring,CODE,READONLYENTRYATARTADRR1,TEXT1ADRR2,TEXT2MOVR3,#0LOO

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。