预览加载中,请您耐心等待几秒...
1/2
2/2

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

7C语言调用汇编程序实验 7.1实验目的 掌握在C语言程序中调用汇编程序,了解ATPCS基本规则。 7.2实验设备 硬件:PC机一台 软件:Windows98/XP/2000系统,ADS1.2集成开发环境 7.3实验内容 在C程序调用汇编子程序,实现两个整数的加法运算。汇编子程序的原型为: uint32Add(uint32x,uint32y) 其中uint32已定义为unsignedint。 7.4实验预习要求 仔细阅读ARM公司的ATPCS的相关文档,比如ATPCS.PDF; 仔细阅ADS工程编辑和AXD调试的内容。(本实验使用软件仿真) 7.5实验步骤 1.启动ADS1.2,使用ARMExecutableImage工程模板建立一个工程ProgramC1。 2.建立源文件Startup.S、Add.S和Test.c,编写实验程序,然后添加到工程中。 3.设置工程连接地址ROBase为0x40000000,RWBase为0x40003000。设置调试入口地址Imageentrypoint为0x40000000。 4.设置工程连接选项,位于开始位置的起始代码段设置为Startup.o的Start段。 5.编译连接工程,选择【Project】->【Debug】,启动AXD进行软件仿真调试。 6.在Test.c文件中的调用Add()的代码处设置断点,然后全速动行程序。 7.程序在断点处停止。使用SetpIn单步运行程序,观察程序是否转到汇编程序Add.S。 8.选择【ProcessorViews】->【Variables】)打开变量观察窗口,观察全局变量的值,单步/全速运行程序,判断程序的运算结果是否正确。 7.6实验参考程序 程序清单C语言调用汇编程序实验参考程序 程序清单汇编加法函数代码 7.7思考 在实验参考程序中,如何以指针形式传递参数?(即设计uint32Add(uint32*x,uint32*y)函数)