home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

日記/2009/12/08/x86のPUSHはスタックの低位方向に進む

日記/2009/12/08/x86のPUSHはスタックの低位方向に進む

日記 / 2009 / 12 / 08 / x86のPUSHはスタックの低位方向に進む
id: 514 所有者: msakamoto-sf    作成日: 2009-12-08 10:20:42
カテゴリ: Assembler 

すこしあやふやになったので確認。スタックのPUSHでアドレスの大きい方(高位)に進むのか、小さい方(低位)に進むのかは実装依存。

x86の場合は、PUSHするとアドレスの小さい方(低位)に進む。つまり、PUSHする度にESPの値は小さくなっていく。アドレス0x0の方向へ向かってESPの値は小さくなっていく。

スタックが「伸びる」とか「縮む」とか書くと印象によって逆方向になってしまうので注意。
PUSHすると「伸びる」んじゃないか、とかPOPすると「縮む」んじゃないか、というイメージがある。
しかし書籍によっては、x86に限定して、PUSHすると0x0の方向に進むので「縮む」、POPするとアドレスが大きくなるので「伸びる」と表記するものもあった。

「伸びる」「縮む」ではなくて「進む」「戻る」の方が良いかな?
「x86ではPUSHするとアドレス低位方向にスタックが伸びる」
「x86ではPUSHするとアドレス低位方向にスタックが進む」
・・・あんまり変わらないか・・・。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-12-08 10:36:48
md5:237b9ca66de0eb3a55f095ff0631caf8
sha1:8f70bff4ecd461d9f8aca9de0ac8b9714d102c8c
コメント
コメントを投稿するにはログインして下さい。