第一范文网 - 专业文章范例文档资料分享平台

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

来源:用户分享 时间:2020-06-16 本文由人海汹涌 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

实验名称:

南京邮电大学通信学院

实 验 报 告

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

嵌入式Linux交叉开发环境的建立 嵌入式Linux环境下的程序设计

多线程程序设计 课程名称 嵌入式系统B 班级学号 姓 名

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

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

一、实验目的

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

2、学习和掌握ADS环境下的汇编语言及C语言程序设计; 3、学习和掌握汇编语言及C语言的混合编程方法。

二、实验内容

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

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

三、实验过程与结果

1、寄存器R0和R1中有两个正整数,求这两个数的最大公约数,结果保存在R3中。

代码1:使用C内嵌汇编

#include int find_gcd(int x,int y) { int gcdnum; __asm { MOV r0, x MOV r1, y LOOP: CMP r0, r1 SUBLT r1, r1, r0 SUBGT r0, r0, r1 BNE LOOP MOV r3, r0 MOV gcdnum,r3 //stop

// B stop // END } return gcdnum; }

int main() { int a; a = find_gcd(18,9);

printf(\ return 0; }

代码2:使用纯汇编语言 AREA example1,CODE,readonly ENTRY MOV r0, #4 MOV r1, #9 start CMP r0, r1 SUBLT r1, r1, r0 SUBGT r0, r0, r1 BNE start MOV r3, r0 stop B stop

END

2、寄存器R0 、R1和R2中有三个正整数,求出其中最大的数,并将其保存在R3中。

代码1:使用纯汇编语言

AREA examp,CODE,READONLY ENTRY

MOV R0,#10 MOV R1,#30 MOV R2,#20 Start

CMP R0,R1 BLE lbl_a CMP R0,R2 MOVGT R3,R0 MOVLE R3,R2 B lbl_b lbl_a

CMP R1,R2 MOVGT R3,R1 MOVLE R3,R2 lbl_b

B . END

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

int find_maxnum(int a,int b,int c)

{ int x; __asm { MOV r0,a MOV r1,b MOV r2,c CMP r0,r1 BLE lbl_a //相等跳转 CMP r0,r2 MOVGT x,r0 MOVLE x,r2 //MOV r3,x B lbl_b lbl_a: CMP r1,r2 MOVGT x,r1 MOVLE x,r2 //MOV r3,x lbl_b: } return x; }

int for_r3(int t) { //int t; __asm { MOV r3,t } return 0; }

int main() { int a; a = find_maxnum(130,50,70); for_r3(a); printf(\ return 0; }

3、编程实现将从地址source开始的30个字节数据复制到地址为dest的地

方。 代码:

NUM EQU 30

AREA Init, CODE, READONLY CODE32 ENTRY START

LDR R0, =SOURCE LDR R1, =DEST MOV R2, #NUM MOV SP, #0X400 BLKCOPY

MOV R3, R2, LSR #3

BEQ COPYWORDS STMFD SP!, {R4-R11} OCTCOPY

LDMIA R0!, {R4-R11} STMIA R1!, {R4-R11} SUBS R3, R3, #1 BNE OCTCOPY LDMFD SP!, {R4-R11} COPYWORDS

ANDS R2,R2, #7 BEQ STOP WORDCOPY

LDR R3, [R0], #4 STR R3, [R1], #4 SUBS R2, R2, #1 BNE WORDCOPY STOP

B STOP

LTORG

SOURCE DCD 1,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,6 DEST DCD 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,0,0

END

4、用汇编语言设计实现10!。

代码:使用纯汇编语言

AREA Fctrl,CODE,READONLY ENTRY CODE32 START MOV R8 , #10 MOV R9 , #0

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新人文社科南邮嵌入式系统B实验报告2016-2017-2 全文阅读和word下载服务。

南邮嵌入式系统B实验报告2016-2017-2 .doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1080113.html(转载请注明文章来源)
上一篇:7.分译法
下一篇:钢琴如何保养
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top