保存されたレジスタのデータに正確に何が起こるのかが重要な理由は何ですか?削除されるか、新しい値で上書きされますか?これらの新しい価値はどこからもたらされますか?私が何かについて不明な点がある場合は、以下にコメントしてください。MIPSアセンブリでは、プロシージャで使用する必要がある保存されたレジスタを保存して復元することはなぜ重要ですか?
1
A
答えて
1
アセンブリ言語内から関数、システムコール、プロシージャ、またはその他の外部コードを呼び出すと、その関数の関数呼び出し定義によって、保存が必要なレジスタと保存されないレジスタが定義されます。多くの場合、これはプラットフォーム、ライブラリ、または言語の標準として文書化されています。あなたはこれをはっきりと理解する。あなたの質問は、 "なぜ?"
レジスタが保持されることが保証されていない場合、これは、呼び出された関数が任意の方法でこれらのレジスタを自由に操作して変更できることを意味します。彼らが "削除"されていることはあまりありません。機能が動作している間に変更または上書きされます。結局のところ、関数はあなたが使用しているのと同じレジスタを使用しなければなりません!
一方、呼び出しによってレジスタを保持する必要がある場合は、呼び出しがコードに戻るときに変更されないことが保証されます。これは、呼び出された関数によってレジスタが使用されていないが、スタック(またはどこかのメモリ)に保存されてから復帰前にリストアされるためかもしれません。
関連する問題
- 1. ゲームでガンファイアデータを保存して使用する必要はありますか?
- 2. MIPSでレジスタを復元する
- 3. ポストバックステータスを保存して復元することはできますか?
- 4. データblobは、base64をデコードして保存する必要があるxmlです。
- 5. SQLiteDatabaseを使用してデータを保存する必要がありますか?
- 6. ここで重要なのは使用する必要がありますか?
- 7. ドッキングされたWebアプリケーションは、アップロードされたファイルをどこに保存する必要がありますか?
- 8. ここで二重キャストする必要があるのはなぜですか?
- 9. onPause()のSharedPreferencesに保存された値がonResume()に復元されないのはなぜですか?
- 10. なぜfopenが使用されるかは重要ですか?
- 11. オブジェクト必要なエラー:保存するファイル
- 12. 自動更新レシートを重複なしで保存/復元する
- 13. Javaサーブレットの保存ファイルをJPGにする必要があるときにBMPに保存するのはなぜですか?
- 14. setjmpは伝統的にレジスタを保存するのはなぜですか?
- 15. ディスクに保存する必要があるMembaseとRedis
- 16. アプリケーションで使用する前に、キャプチャした画像をデバイスに保存する必要がありますか?
- 17. イメージをデータベースに保存する必要がありますか?
- 18. オブジェクトのコピーを保存して後で復元する方法
- 19. mongoDbでMongooseを保存すると、予期しない要素が保存される
- 20. 10秒間アニメートするにはこのメッセージが必要です。Ext.info( '保存'、 '変更を保存...')
- 21. ASP.NETキャッシュページ。状態は保存されていますが、リフレッシュが必要です
- 22. シェーダコードはどこに保存する必要がありますか?
- 23. ファイルは、SharePointソリューションのどこに保存する必要がありますか?
- 24. Eclipseのサードパーティプラグインはどこに保存する必要がありますか?
- 25. クッキーに保存されたDOM要素を使用する
- 26. デバイスまたはサーバーにユーザーフレンドリストを保存する必要がありますか?
- 27. イメージをデータベースまたはフォルダに保存する必要がありますか?
- 28. イベントハンドラの保存と復元
- 29. CGContextの保存と復元
- 30. ネストされたモデルは、帳票保存:このフィールドは必要とされ、エラー