* 例如:有5个参数,分别使用寄存器R0存放第1个参数,寄存器R1存放第2个参数,寄存器R2存放第3个参数,寄存器R3存放第4个参数,第5个参数利用数据栈传送。由于利用数据栈传递参数,在程序结束后要调整数据栈指针。? //C程序g()返回5个整数的和 int g (int a, int b, int c, int d, inte) { ?? return (a+b+c+d+e); }? ? //汇编程序调用C程序g()计算5个整数i, 2*i, 3*i, 4*i, 5*i的和 EXPORT? f AREA? f, CODE, READONRY IMPORT? g?????????????????? //使用伪操作IMPORT声明C程序g() STR? LR, [SP, #-4]!???????? //保存返回地址 ADD? R1,?R0, R0???????????? //假设进入程序f时,R0中的值为i,R1值为2*i ADD? R2, R1, R0?????????????//R2的值为3*i ADD? R3, R1, R2???????????? //R3的值为5*i STR? R3, [SP, #-4]!???????? //第5个参数5*i通过数据栈传递 ADD? R3, R1, R1???????????? //R3的值为4*i
您可能关注的文档
最近下载
- TFLN晶圆,全球前7强生产商排名及市场份额(by QYResearch).docx VIP
- 客专高速道岔.doc VIP
- 2025年纺织行业智能纺织技术创新报告.docx VIP
- 新道岔表2008.3.3(1)-包含GLC(07)04等新型号道岔.xls VIP
- TASCAM达斯冠专业音响Portacapture X8说明书用户手册.pdf
- 皮肤科医师晋升副主任医师高职称病例分析专题报告(巨大寻常疣病).docx
- 2025年纺织行业智能纺织技术创新报告.docx VIP
- RMF1100 波磨测量小车.pdf VIP
- 三国群英传7秘籍大全完整全秘籍编码汇总.pdf VIP
- 人教版八年级物理上册全册知识要点复习提纲.pdf VIP
原创力文档

文档评论(0)