作者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