
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の何乗なのでしょうか?
-
階乗のマクロ
-
時間(ミリ秒を含む)の引き算
-
BASICのプログラムで行列式の積...
-
バッチファイルでウインドウを...
-
EXCELなどで「返す」という表現
-
C言語初心者。静磁場の計算。台...
-
エクセルで特定のセルのみを任...
-
ホームページビルダーで料金の...
-
matlabで計算終了
-
60進数の四則計算
-
10進数を2進数に変換する問題
-
引き放し法による除算アルゴリ...
-
Visual C++でdebugとreleaseで...
-
放物線の運動
-
モジュロ
-
計算量の少ないn乗根の求め方
-
タクシー料金の問題です
-
大変困っています
-
アセンブリ言語で0x4(%esp)の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
VBAの再計算が反映されない件に...
-
EXCELなどで「返す」という表現
-
matlabで計算終了
-
排他的論理和 BCC(水平パリテ...
-
変化させるセルが変化しない
-
モジュラス103の計算とは何でし...
-
傾いた四角形内の範囲の条件式
-
VBAで関数をつくる
-
[急募]Pythonについてです。
-
数値計算の高速化 (cos, sin, exp)
-
C言語についての質問です。 ル...
-
切り上げたい
-
DLL(VC++で作った)で稼動中の...
-
CとFORTRANの計算速度はどちら...
-
趣味で「乗換案内」みたいなソ...
-
CGIの実行権限(ディスク容...
-
エクセルで特定のセルのみを任...
-
functionを含んだプログラムを...
-
時間差を求める
おすすめ情報