ARM平台上VxWorks任务栈的使用

int f2(int a,int b)
{

int ret;
int lla=0x55;
int llb=0x33;
ret=a+b;
return ret;

}
一个非常简单的C函数,主要用来说明参数和局部变量在堆栈里的分配,入栈操作看明白了,但出栈操作看不明白!

-> l 0x00203470
f2:
00203470 e1a0c00d MOV r12,sp
00203474 e92dd800 STMDB sp!,{r11,r12,lr,pc}
00203478 e24cb004 SUB r11,r12,#4
0020347c e24dd014 SUB sp,sp,#0x14
00203480 e50b001c STR r0,[r11,#-0x1c]
00203484 e50b1020 STR r1,[r11,#-0x20]
00203488 e3a03055 MOV r3,#0x55
0020348c e50b3014 STR r3,[r11,#-0x14]
00203490 e3a03033 MOV r3,#0x33
00203494 e50b3010 STR r3,[r11,#-0x10]

00203498 e51b201c LDR r2,[r11,#-0x1c]
0020349c e51b3020 LDR r3,[r11,#-0x20]
002034a0 e0823003 ADD r3,r2,r3
002034a4 e50b3018 STR r3,[r11,#-0x18]
002034a8 e51b3018 LDR r3,[r11,#-0x18]
002034ac e1a00003 MOV r0,r3
002034b0 e24bd00c SUB sp,r11,#0xc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值