函数堆栈调用

汇编代码的认识

寄存器:eax(累加器)  ebx(基地址)  ecx(计数器)  edx(余数)

pc(下一行指令地址寄存器)

EAX 是"累加器"(accumulator), 它是很多加法乘法指令的缺省寄存器。
EBX 是"基地址"(base)寄存器, 在内存寻址时存放基地址。
ECX 是计数器(counter), 是重复(REP)前缀指令和LOOP指令的内定计数器。
EDX 则总是被用来放整数除法产生的余数

栈桢确定:栈底(EBP) 栈顶(ESP

 

ret pop pc

Call两步:1.压入下一行指令地址2.调转被调用方

开栈过程:

  1. 压入实参,给形参初始化  自右向左
  2. 压下一行指令地址
  3. 压调用方栈底地址
  4. 跳转到被调用方函数栈桢
  5. 被调用方函数活动开辟空间

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值