嵌入式系统实践实验报告--汇编和C 语言的相互调用
8页1、第3次实验汇编和C 语言的相互调用 1计算机科学技术系上机实践报告课程名称:嵌入式系统实践 年级:上机实践成绩:指导教师: 姓名:创新实践成绩:上机实践名称:汇编和C 语言的相互调用 学号:上机实践日期:上机实践编号:No.3 组号:上机实践时间:一、 实验目的1. 阅读Embest EduKit-III 启动代码,观察处理器启动过程;2. 学会使用Embest IDE 辅助信息窗口来分析判断调试过程和结果;3. 学会在Embest IDE 环境中编写、编译与调试汇编和C 语言相互调用的程序。二、 实验设备1. 硬件:Embest EDUKIT-III(实验平台) PC机 2. 软件:Embest IDE Pro ARM 集成开发环境,Windows 98/2000/NT/XP。三、 实验内容使用汇编完成一个随机数产生函数,通过 C 语言调用该函数,产生一系列随机数,存放到数组里面。1. C语言的编译过程C语言程序汇编语言程序目标可执行程序2. 汇编语言的函数调用过程参数准备函数返回汇编函数间调用3. 函数调用举例C语言调用汇编函数汇编语言调用C语言函数4. 命令脚本文件和链接脚本文件
2、四、 实验原理1. ARM 过程调用ATPCS(ARM )ATPCS 是一系列用于规定应用程序之间相互调用的基本规则,这此规则包括:支持数据栈限制检查;支持只读段位置无关(ROPI);支持可读/写段位置无关(RWPI);支持ARM 程序和Thumb 程序的混合使用;处理浮点运算。使用以上规定的 ATPCS 规则时,应用程序必须遵守如下:程序编写遵守ATPCS;变量传递以中间寄存器和数据栈完成;汇编器使用-apcs 开关选项。关于其他 ATPCS 规则,用户可以参考ARM 处理器相关书籍或登录ARM 公司网站。程序只要遵守 ATPCS 相应规则,就可以使用不同的源代码编写程序。程序间的相互调用最主要的是解决参数传递问题。应用程序之间使用中间寄存器及数据栈来传递参数,其中,第一个到第四个参数使用R0-R3,多于四个参数的使用数据栈进行传递。这样,接收参数的应用程序必须知道参数的个数。但是,在应用程序被调用时,一般无从知道所传递参数的个数。不同语言编写的应用程序在调用时可以自定义参数传递的约定,使用具有一定意义的形式来传递,可以很好地解决参数个数的问题。常用的方法是把第一个或最后一个参数作为
《嵌入式系统实践实验报告--汇编和C 语言的相互调用》由会员liy****000分享,可在线阅读,更多相关《嵌入式系统实践实验报告--汇编和C 语言的相互调用》请在金锄头文库上搜索。
隧道互联互通供水管道工程设备、材料采购技术规格书
人饮连通改造(二期)工程-施工设计总说明
人居环境整治项目边坡工程施工图设计说明书
抗旱应急提水后期工程施工图设计总说明
新材料科技城化医大道道路改造工程--排水设计说明
长江流域场镇雨污分流改造项目--排水工程设计说明
中锋镇人行桥--桥梁施工图设计说明
水天坪组团城市燃气管道等老化更新改造项目施工图设计说明
1#B区_叠合板计算书
工业园区道路改造工程--管网工程施工图设计说明
保障性租赁住房燃气管道设施改造工程施工设计总说明
2#人行桥施工图设计说明
污水厂四期扩建工程海绵施工图设计说明
铜西村安全饮水项目施工图设计总说明
1号道路拓宽工程--市政岩土结构施工图设计说明
污水管道安装工程施工图设计说明
1#A区_叠合板计算书
1#人行桥施工图设计说明
1号路道路拓宽改造工程 交通工程施工图设计说明
滨江路等6个社区老旧小区改造提升工程(一标段)建筑管网整改施工图设计说明
2024-01-03 50页
2024-01-03 57页
2023-12-29 56页
2023-12-19 80页
2023-12-19 371页
2023-12-15 43页
2023-12-15 14页
2023-12-15 30页
2023-12-15 28页
2023-12-15 16页