南邮嵌入式系统B实验报告.pdf

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

南京邮电大学通信学院

实验报告

实验名称:基于ADS开发环境的程序设计

嵌入式Linux交叉开发环境的建立

嵌入式Linux环境下的程序设计

多线程程序设计

课程名称嵌入式系统B

班级学号

姓名

开课学期2016/2017学年第2学期

1/1文档可自由编辑

实验一基于ADS开发环境的程序设计

一、实验目的

1、学习ADS开发环境的使用;

2、学习和掌握ADS环境下的汇编语言及C语言程序设计;

3、学习和掌握汇编语言及C语言的混合编程方法。

二、实验内容

1、编写和调试汇编语言程序;

2、编写和调试C语言程序;

3、编写和调试汇编语言及C语言的混合程序;

三、实验过程与结果

1、寄存器R0和R1中有两个正整数,求这两个数的最大公约数,

结果保存在R3中。

代码1:使用C内嵌汇编

#includestdio.h

intfind_gcd(intx,inty)

{

intgcdnum;

__asm

{

MOVr0,x

1/1文档可自由编辑

MOVr1,y

LOOP:

CMPr0,r1

SUBLTr1,r1,r0

SUBGTr0,r0,r1

BNELOOP

MOVr3,r0

MOVgcdnum,r3

//stop

//Bstop

//END

}

returngcdnum;

}

intmain()

{

inta;

a=find_gcd(18,9);

return0;

}

1/1文档可自由编辑

代码2:使用纯汇编语言

AREAexample1,CODE,readonly

ENTRY

MOVr0,#4

MOVr1,#9

start

CMPr0,r1

SUBLTr1,r1,r0

SUBGTr0,r0,r1

BNEstart

MOVr3,r0

stop

Bstop

END

2、寄存器R0、R1和R2中有三个正整数,求出其中最大的数,

并将其保存在R3中。

代码1:使用纯汇编语言

AREAexamp,CODE,READONLY

ENTRY

MOVR0,#10

MOVR1,#30

1/1文档可自由编辑

MOVR2,#20

Start

CMPR0,R1

BLElbl_a

CMPR0,R2

MOVGTR3,R0

MOVLER3,R2

Blbl_b

lbl_a

CMPR1,R2

MOVGTR3,R1

MOVLER3,R2

lbl_b

B.

END

代码2:使用C内嵌汇编语言

#includestdio.h

intfind_m

文档评论(0)

***** + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档