资源描述
实验三 C语言和ARM汇编混合编程
1. 实验目的
掌握C语言和ARM汇编混合编程方法。
2. 实验设备
硬件:PC 机 一台
软件:Windows98/XP/2000 系统,ADS 1.2 集成开发环境
3. 实验内容
C语言和汇编混合编程,实现字符串拷贝。
4. 实验预习要求
熟悉常用ARM 指令。了解ADS 工程编辑和AXD 调试方法。
5. 实验步骤
(1)启动ADS 1.2,使用ARM Executable Image 工程模板建立一个工程ProgramC1。
(2)建立源文件STR_COPY.S 和Test.c,编写实验程序,然后添加到工程中。
(3)设置工程链接地址RO Base 为0x40000000,RW Base 为0x40003000。设置调试入口地址Image entry point 为0x40000000。
(4)编译链接工程,选择【Project】->【Debug】,启动AXD 进行软件仿真调试。
(5)在Test.c文件中的调用asm_strcpy(的代码处设置断点,然后全速动行程序。
(6)程序在断点处停止。使用Setp In 单步运行程序,观察程序是否转到汇编程序STR_COPY.S。判断程序的运算结果是否正确。参考程序见程序清单3.1。字符串拷贝函数代码见程序清单3.2。
6. 任务说明
(一)调试运行“在C代码中嵌入汇编指令”程序,并记录运行结果:
(二)调试运行“汇编程序调用C函数”,程序,并记录运行结果:
(三)在现有字符串拷贝(C 语言调用汇编程序)源程序的基础上,实现int类型数据的拷贝。
1)要求:
Ø 编写ARM汇编程序并加注释
Ø 调试并记录运行结果
2)提示:源数字可用数组定义,如int s[4];并对数组元素进行初始化,s[0]=1;s[1]=2;s[2]=3;s[4]=0,同样定义目标数组d[4]并初始化为0。注:一个int型数字占4个存储单元。验证是否拷贝成功,利用for循环显示目标数组内容。
程序清单3.1 C语言调用汇编程序实验参考程序Test.c
程序清单3.2 字符串拷贝函数代码STR_COPY.S
展开阅读全文