ポピュラーサイエンス。スタックは Java の非インテリジェント マシンのストレージです

オリジナルポスター: 2014000 ビュー: 101 返信: 1 で投稿される: 2012-06-24 12:13:30
スタックとは、データを保存するための領域です。このエリア自体には特別なことは何もありません。それは内部 RAM の一部にすぎません。特別なのは、いわゆる「先入れ、後出し、後入れ先出し」であるデータの保存とアクセスの方法であり、スタックには特別なデータ転送命令、つまり「P USH」と「POP」には、それらを提供するための専用の特別なユニット、つまりスタック ポインタ SP があります。 PUSH 命令が実行されるたびに、SP は (元の値に基づいて) 自動的に 2 減らされます。 POP 命令が実行されるたびに、SP は (元の値に基づいて) 自動的に 2 増加します。 SPの値は命令により変更できるため、プログラムの先頭でSPの値を変更するだけで、指定したメモリ単位にスタックを設定することができます。例えば、プログラムの先頭では、MOV SP、#5FH命令を使用して、メモリユニット60Hから始まるユニットにスタックを設定する。通常、プログラムの先頭にはスタックポインタを設定する命令が必ずあります。これは、起動時の SP の初期値が 07H であるため、スタックはユニット 08H から開始され、戻ることになります。 08H から 1FH までの領域は、8031 の 2 番目、3 番目、4 番目の作業レジスタ領域であり、よく使用されるため、データの混乱が発生します。異なる作成者がプログラムを作成する場合、初期化スタック命令はまったく同じではありません。これは作者の習慣の問題です。スタック領域を設定したからといって、その領域が特別なメモリになるわけではありません。通常のメモリ領域と同様に使用できますが、一般にプログラマは通常のメモリ領域として使用しません。
返事 🤍 0 📤 共有 集める

返信 (1)

了解しました、共有してくれてありがとうございます。
— すべての返信が読み込まれました —

返信を残す