
No.3ベストアンサー
- 回答日時:
「例えば」が意味不明ですが、おっしゃる通り、espレジスタの指す番地の4番地先をアクセスするという意味です。
メリットは、このプログラムをespレジスタの値が違う状態で実行した場合、毎回違う番地のデータにアクセスできるということです。
例:「2倍の値を返す」というサブルーチン twice() を作ったときに、元の数を0x4(%esp)に入れてサブルーチンを呼び出すことにすれば、
twice(10), twice(13),twice(16)などいろんなところから呼ばれても、呼ばれた時のespレジスタの指す番地の4番地先を見て計算すれば、割り込みなどで計算途中で別の処理が起動しても問題なくプログラムが実行できます。
逆に、固定したアドレスで計算すると・・・
例えば、
twice(10)を計算途中に割り込みで、別のプログラムからtwice(13)が実行された
とすると、計算結果はどうなるか想像してみてください。
No.2
- 回答日時:
ちょっと言葉が不足していたので #1 に補足するけど, 「それ以外」の「それ」は「0x4(%esp)の意味はアクセス先はespレジスタの値に+4したアドレス」のことね. esp の値が 7 だったとしても, 「0x4(%esp)」によって「espレジスタ」が「7+4で11」に変わるわけじゃないからね.
厳密にいうと「そのアドレスがさすメモリ」とも限らん (命令による) し.
No.1
- 回答日時:
「espレジスタ(スタック)にもともと7つの命令が入っていた」の意味はまったくわからんが, 逆に考えてそれ以外のどのような方法があ
るんでしょうか? そしてそのメリットはなに?お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで関数をつくる
-
65536は2の何乗なのでしょうか?
-
matlabで計算終了
-
排他的論理和 BCC(水平パリテ...
-
VBAの再計算が反映されない件に...
-
スレッド処理からダイアログを...
-
VBA入力フォームで労働時間の計...
-
Perlで時間の計算
-
EXCELなどで「返す」という表現
-
バッチファイルでウインドウを...
-
階乗のマクロ
-
分数計算で分母と分子を維持す...
-
数十万番目の素数を表示させる...
-
文字列探索KMP法の計算量に...
-
C#の演算でオーバーフローして...
-
エクセル以外で麻雀の成績を管...
-
ASPで小数点の設定
-
Vba Cells.Findについて教えて...
-
変化させるセルが変化しない
-
アドオン利率を実質年率に変換
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
変化させるセルが変化しない
-
VBAの再計算が反映されない件に...
-
EXCELなどで「返す」という表現
-
VBAで関数をつくる
-
matlabで計算終了
-
排他的論理和 BCC(水平パリテ...
-
モジュラス103の計算とは何でし...
-
引き放し法による除算アルゴリ...
-
バッチファイルでウインドウを...
-
スレッド処理からダイアログを...
-
数値計算の高速化 (cos, sin, exp)
-
エクセルで特定のセルのみを任...
-
モジュロ
-
関数を使わないで日付の計算を...
-
階乗のマクロ
-
時間(ミリ秒を含む)の引き算
-
なぜオーバーフローになるので...
-
論理演算子.NOT.の使い方
-
PHPとJavaでSHA256の結果を同じ...
おすすめ情報