
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ランキング
-
65536は2の何乗なのでしょうか?
-
VBAで関数をつくる
-
チェックデジット計算できる関...
-
EXCELなどで「返す」という表現
-
階乗のマクロ
-
モジュラス103の計算とは何でし...
-
C言語についてです。 再帰を使...
-
ReportViewerのテキストボック...
-
BASICのプログラムで行列式の積...
-
VBAで電卓を作成する
-
VBAの再計算が反映されない件に...
-
y=(x^2 +3x+1)^4を微分の定義を...
-
ActionScriptでアナログ時計
-
コマンドプロンプト内で右揃え...
-
smartyで計算を行う方法
-
Perlで時間の計算
-
内税の計算式
-
時間の足し算 C++Builder
-
java ”標準偏差を求めるプログ...
-
継承元と継承先での変数
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
変化させるセルが変化しない
-
VBAの再計算が反映されない件に...
-
EXCELなどで「返す」という表現
-
VBAで関数をつくる
-
matlabで計算終了
-
排他的論理和 BCC(水平パリテ...
-
モジュラス103の計算とは何でし...
-
引き放し法による除算アルゴリ...
-
バッチファイルでウインドウを...
-
スレッド処理からダイアログを...
-
数値計算の高速化 (cos, sin, exp)
-
エクセルで特定のセルのみを任...
-
モジュロ
-
関数を使わないで日付の計算を...
-
階乗のマクロ
-
時間(ミリ秒を含む)の引き算
-
なぜオーバーフローになるので...
-
論理演算子.NOT.の使い方
-
PHPとJavaでSHA256の結果を同じ...
おすすめ情報