保存されたレジスタのデータに正確に何が起こるのかが重要な理由は何ですか?削除されるか、新しい値で上書きされますか?これらの新しい価値はどこからもたらされますか?私が何かについて不明な点がある場合は、以下にコメントしてください。MIPSアセンブリでは、プロシージャで使用する必要がある保存されたレジスタを保存して復元することはなぜ重要ですか?
1
A
答えて
1
アセンブリ言語内から関数、システムコール、プロシージャ、またはその他の外部コードを呼び出すと、その関数の関数呼び出し定義によって、保存が必要なレジスタと保存されないレジスタが定義されます。多くの場合、これはプラットフォーム、ライブラリ、または言語の標準として文書化されています。あなたはこれをはっきりと理解する。あなたの質問は、 "なぜ?"
レジスタが保持されることが保証されていない場合、これは、呼び出された関数が任意の方法でこれらのレジスタを自由に操作して変更できることを意味します。彼らが "削除"されていることはあまりありません。機能が動作している間に変更または上書きされます。結局のところ、関数はあなたが使用しているのと同じレジスタを使用しなければなりません!
一方、呼び出しによってレジスタを保持する必要がある場合は、呼び出しがコードに戻るときに変更されないことが保証されます。これは、呼び出された関数によってレジスタが使用されていないが、スタック(またはどこかのメモリ)に保存されてから復帰前にリストアされるためかもしれません。
関連する問題
- 1. ゲームでガンファイアデータを保存して使用する必要はありますか?
- 2. assemblyレジスタを保存して復元する方法
- 3. MIPSでレジスタを復元する
- 4. ポストバックステータスを保存して復元することはできますか?
- 5. すべてのOneToManyオブジェクトをHibernateで個別に保存する必要があるのはなぜですか?
- 6. 重複した電子メールアドレスを保存する必要がありますか?
- 7. データblobは、base64をデコードして保存する必要があるxmlです。
- 8. SQLiteDatabaseを使用してデータを保存する必要がありますか?
- 9. ここで重要なのは使用する必要がありますか?
- 10. vimscript:レジスタを保存して復元するにはどうすればいいですか?
- 11. 保存されたテンソルフローモデルを復元するには?
- 12. - 私はReactで使用するDOM要素を保存しないので保存しますか?
- 13. ここで二重キャストする必要があるのはなぜですか?
- 14. ドッキングされたWebアプリケーションは、アップロードされたファイルをどこに保存する必要がありますか?
- 15. ファイルをデータベースに保存する必要がある場合は、
- 16. Tensorflowのバグ?すべての変数で保存されたアーキテクチャに保存された単一の変数を復元することはできません
- 17. 新しいヘッダーファイルはどこに保存する必要がありますか?
- 18. 保存されていないマクロを復元する(VBA PowerPoint)
- 19. なぜoauth2アクセストークンを保存する必要がありますか?
- 20. onPause()のSharedPreferencesに保存された値がonResume()に復元されないのはなぜですか?
- 21. なぜfopenが使用されるかは重要ですか?
- 22. シンプルなテキストエディタバイナリ形式として保存する必要が
- 23. 自動インクリメント用のHibernateアノテーションですが、保存前に値を保存する必要があります
- 24. Javaサーブレットの保存ファイルをJPGにする必要があるときにBMPに保存するのはなぜですか?
- 25. setjmpは伝統的にレジスタを保存するのはなぜですか?
- 26. 複合インデックスを使用しても重複が保存されるのはなぜですか? Mongo(Mongoose)
- 27. データオーダーの保存が必要な場合はCoAPを使用できますか?
- 28. テンソルフローを保存/復元する方法DNNClassifier(保存する変数なし)
- 29. オブジェクト必要なエラー:保存するファイル
- 30. Azureクラウドサービスはどこにファイルを保存する必要がありますか?