- 6
- 0
- 约2.05千字
- 约 3页
- 2018-05-05 发布于河南
- 举报
C和汇编之间的函数调用
C和汇编之间的函数调用
ARM工程中,C程序调用汇编函数和汇编程序调用C函数时经常的事情,遵守ARM-Thumb过程调用标准ATPCS(ARM-Thumb Procedure Call Standard)。
ATPCS标准——ARM编译器使用的函数调用规则(详见下面)
(温故知新)C语言程序中的调用
int main()
{
printf(1234+5678=%d\n,sum(1234,5678));
return 0;
}
请编写sum函数,实现两个数的相加。
int sum(int x,int y)
{
int s;
s=x+y;
return s
}
C程序调用汇编程序函数
要点:
在汇编语言中,用该函数名作为汇编代码段的标识,定义函数代码,最后用MOV PC,LR返回
在汇编语言中用EXPORT导出函数名
在C语言中用extern关键词声明函数原型。
函数调用时参数传递规则:寄存器组中的{R0-R3}作为参数传递和结果返回寄存器,如果参数数目超过4个,则使用堆栈进行传递。
;工程exp10_1_2
;汇编函数文件strcopy.s
;把R1指向的数据块复制到R0指向的存储块。
AREA StrCopy,CODE,READONLY
EXPORT strcopy
strcopy
LDRB R2,[R1],#1
STRB R2,[R0],#1
CMP R2,#0
BNE str
您可能关注的文档
- 国际贸易实物期中试题.ppt
- 各岗位各项制度.doc
- 简明世界史第一,二次测试题.doc
- 平面构成的形式2010.ppt
- 数控车技能试卷.doc
- 酸碱与酸碱平衡3,4.ppt
- 冲刺NOIP2010模拟试题(十三).doc
- 湖南省示范学校2013年元月高三联考化学试卷.doc
- 8A Unit2 School life单元测试卷.doc
- 电流磁场复习指导.ppt
- 专项十三 复合句(含答案) 2026年中考人教版英语语法专项复习.doc.docx
- 专项十四 There be句型和主谓一致(含答案) 2026年中考人教版英语语法专项复习.doc.docx
- 专项14 构词法 学案(含答案)2025年中考人教版英语语法专项复习.doc.docx
- 静脉肾盂造影结石梗阻评估.ppt
- 《假期实践活动》教案-2025-2026学年冀教版(新教材)小学数学二年级下册.docx
- 老年结石病合并慢病综合诊疗.ppt
- 鹿角形肾结石复杂手术治疗.ppt
- 经皮肾镜超声碎石清石术.ppt
- 《参观爱国主义教育基地》教案-2025-2026学年冀教版(新教材)小学数学二年级下册.docx
- 《生活中的大数:整理与复习》教案(2课时)-2025-2026学年冀教版(新教材)小学数学二年级下册.docx
原创力文档

文档评论(0)