服务热线:

栏目导航
重点案例
联系我们
服务热线
电话:
邮箱:
地址:
函数调用参数超过四个的传递方法
作者: 发布日期:2023-07-04

众所周知,ARM架构下,函数参数是通过 r0~r4寄存器传递的;但是如果参数超过四个,就要借助于栈了。

下面以一个例子说明。

ARM架构:函数调用参数超过四个的传递方法

main()的汇编凯发k8国际登录如下:

ARM架构:函数调用参数超过四个的传递方法

这个时候(执行到箭头指向的位置),栈的状态如下:

ARM架构:函数调用参数超过四个的传递方法

函数 func的汇编如下:

ARM架构:函数调用参数超过四个的传递方法

此时,栈状态如下:

ldr r3, [r11, #4]

上面这一句汇编代码就是从栈上取回保存的第5个参数的值。

ARM架构:函数调用参数超过四个的传递方法

唯样商城(www.oneyac.com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快

速交付的采购需求。唯样自建高效智能仓储,拥有自营库存超70,000种,提供一站式正品现货采购、个性化解决方案、选项替代等多元化服务。

(本文来源网友上传,如有侵权,可联系管理员删除)



备案号:
电话:邮箱:
地址:技术支持:
凯发首页登录