- 58
- 0
- 约1.43千字
- 约 3页
- 2018-02-04 发布于河北
- 举报
试验六 (混合编程)
试验六 C语言与汇编语言混合编程
注意:本实验在模拟环境下进行,请不要打开试验箱电源!!
试验目的:
掌握ADS开发环境下C语言和汇编语言编程的APCS规则;
试验原理
ARM过程调用标准APCS提供了紧凑编写程序的一种机制。如果ARM程序全部用汇编语言完成,则不必要求全部实现APCS,但如果要求汇编语言和c语言混合编程,则必须遵守APCS规则。
对于程序员来说,最重要的是在函数调用时,参数及返回值是如何传递的,如何在汇编语言中调用C语言,如何在c语言中调用汇编语言。请记住一下规则:
参数不超过4个时,可以使用寄存器R0~R3来传递参数,当参数超过4个时,还可以使用数据栈来传递参数。
结果为一个32位整数时,可以通过寄存器R0返回
结果为一个64位整数时,可以通过寄存器R0和R1返回,依次类推。
寄存器R13用于数据栈指针,记作SP。寄存器SP在进入子程序时的值和退出子程序时的值必须相等。
寄存器R14称为链接寄存器,记作LR。它用于保存子程序的返回地址。
C语言调用汇编程序规则:
汇编程序的设置要遵循APCS 规则,保证程序调用时参数的正确传递。
在汇编程序中使用EXPORT 伪指令声明本子程序,使其它程序可以调用此子程序。
在C 语言程序中使用extern 关键字声明外部函数(声明要调用的汇编子程序),即可调用此汇编子程序
汇编程序调用C程序规则:
汇编程序的设置要遵循A
您可能关注的文档
最近下载
- 江西建设职业技术学院《中药分析学》2025-2026学年期末试卷.docx VIP
- 单螺杆泵知识培训.pptx VIP
- 江西建设职业技术学院《中国当代文学》2025-2026学年期末试卷.docx VIP
- 2025武汉民政职业学院辅导员招聘考试真题.docx VIP
- 学大教育面试测试题.docx VIP
- 2026秋新部编版六年级语文(上)第八单元《传承好家风》教学设计.docx VIP
- 2026年工程师(公路工程监理)考试题及答案.doc VIP
- 小学数学新苏教版一年级上册第三单元《图形的初步认识(一)》教案(2024秋).doc VIP
- 2026年春季新苏科版版数学八年级下册全册教学课件.pptx
- 新建北京至雄安新区城际铁路环境影响评价报告书简本.pdf VIP
原创力文档

文档评论(0)