资源描述:
《南邮嵌入式系统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