ARM下的参数传递
时间:11-21
来源:互联网
点击:
递方式。
在test_asm_args中,参数1~参数4还是通过R0~R3进行传递,而参数5~参数8则是通过把其压入堆栈的方式进
行传递,不过要注意这四个入栈参数的入栈顺序,是以参数8->参数7->参数6->参数5的顺序入栈的。
直到调用test_c_args之前,堆栈内容如下:
sp->+———-+
| 参数5 |
+———-+
| 参数6 |
+———-+
| 参数7 |
+———-+
| 参数8 |
+———-+
| lr |
+———-+
test_c_args执行返回后,则设置sp,对之前入栈的参数进行清除,最后将lr装入pc返回main函数,在执行 LDR
pc, [sp],#4 指令之前堆栈内容如下:
+———-+
| 参数5 |
+———-+
| 参数6 |
+———-+
| 参数7 |
+———-+
| 参数8 |
sp->+———-+
| lr |
+———-+
ARM下参数传 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)