作者ijpong (PangSir)
看板PangSir
标题Re: [问题] 有关区域变数的位址配置...
时间Wed Dec 15 22:51:53 2004
※ 引述《DyingIce (玄冰)》之铭言:
: 从上课的内容看来,
: local variables 的 access,
: 似乎和 ebp 这个 register 有很大的关系.
: 就进入某个 procedure 时,
: ebp 似乎是紧接着 returne address 的.
: (i.e. loacal vairiables 接着在其後)
: 请问这种配置是种标准吗?
: ================
: 就在下有限的认知, 似乎...
: ebp 就组合语言的指令来说,
: 似乎可以作基底定址.
: (i.e. accessing ss:[ebp][esi/edi]+???)
: 也就是说和 ebx 的角色类似吧.
: 只是 ebx 是对"资料区段"(ds所指)的资料
: 而 ebp 是对"堆叠区段"(ss所指)的资料...
是的. calling program的ebp值不一定要放在return address之後,
但是通常的写法会是这样. 也就是一进入procedure就push ebp, mov ebp,esp
所以说, 这虽不是一定要这样, 但是大部分的作法会follow这样的方法
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.28.15