实验三、C语言程序实验和C语言调用汇编程序实验.doc

实验三、C语言程序实验和C语言调用汇编程序实验.doc

ID:50380273

大小:125.00 KB

页数:2页

时间:2020-03-08

实验三、C语言程序实验和C语言调用汇编程序实验.doc_第1页
实验三、C语言程序实验和C语言调用汇编程序实验.doc_第2页
资源描述:

《实验三、C语言程序实验和C语言调用汇编程序实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验三:C语言程序实验和C语言调用汇编程序实验一、实验目的通过实验了解使用ADS1.2编写C语言程序,并进行调试。二、实验设备硬件:PC机一台软件:Windows98/XP/2000系统,ADS1.2集成开发环境三、实验内容编写一个汇编程序文件和一个C程序文件。汇编程序的功能是初始化堆栈指针和初始化C程序的运行环境,然后调跳转到C程序运行,这就是一个简单的起动程序。C程序使用加法运算来计算1+2+3+...+(N-1)+N的值(N>0)。四、实验预习要求仔细阅读教材中的ARM指令系统的内容;熟悉ADS工程编辑和AXD调试的内容。(本

2、实验使用软件仿真)五、实验步骤1.启动ADS1.2,使用ARMExecutableImage工程模板建立一个工程ProgramC。2.建立源文件Startup.S和Test.c,编写实验程序,然后添加到工程中。3.设置工程连接地址ROBase为0x40000000,RWBase为0x40003000。设置调试入口地址Imageentrypoint为0x40000000。4.设置位于开始位置的起始代码段,如图3.8所示。图3.8设置位于开始位置的起始代码段5.编译连接工程,选择【Project】->【Debug】,启动AXD进行软件仿

3、真调试。6.在Startup.S的“BMain”处设置断点,然后全速动行程序。7.程序在断点处停止。单步运行程序,判断程序是否跳转到C程序中运行。8.选择【ProcessorViews】->【Variables】)打开变量观察窗口,观察全局变量的值,单步/全速运行程序,判断程序的运算结果是否正确。六、实验参考程序C语言实验的参考程序见程序清单3.3。汇编起动代码见程序清单3.4。程序清单3.3C语言实验参考程序#defineuint8unsignedchar#defineuint32unsignedint#defineN100uin

4、t32sum;//使用加法运算来计算1+2+3+...+(N-1)+N的值。(N>0)voidMain(void){uint32i;sum=0;for(i=0;i<=N;i++){sum+=i;}while(1);}程序清单3.4简单的起动代码;起动文件。初始化C程序的运行环境,然后进入C程序代码。IMPORT

5、Image$$RO$$Limit

6、IMPORT

7、Image$$RW$$Base

8、IMPORT

9、Image$$ZI$$Base

10、IMPORT

11、Image$$ZI$$Limit

12、IMPORTMain;声明C程序中的Main()函

13、数AREAStart,CODE,READONLY;声明代码段StartENTRY;标识程序入口CODE32;声明32位ARM指令ResetLDRSP,=0x40003F00;初始化C程序的运行环境LDRR0,=

14、Image$$RO$$Limit

15、LDRR1,=

16、Image$$RW$$Base

17、LDRR3,=

18、Image$$ZI$$Base

19、CMPR0,R1BEQLOOP1LOOP0CMPR1,R3LDRCCR2,[R0],#4STRCCR2,[R1],#4BCCLOOP0LOOP1LDRR1,=

20、Image$$ZI$$Limit

21、M

22、OVR2,#0LOOP2CMPR3,R1STRCCR2,[R3],#4BCCLOOP2BMain;跳转到C程序代码Main()函数END七、思考题在实验参考程序中,Startup.S文件的作用是什么?如果没有Startup.S文件,C程序会运行出错吗?实验程序中的Main()函数名是否可以更改为其它名字?(提示:Main只是一个标号)

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

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

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