この命令は正確に何をしますか?特定の数値の倍数でデータを整列させようとしますが、なぜこれを行う必要があるのでしょうか?他のアセンブラには同等の命令がありますか?MIPSの 'align'命令
答えて
通常、パフォーマンスを向上させるためにデータを整列します。ほとんどのプロセッサでは、特定のバイト境界にアクセスしていないときにメモリアクセスに多少のペナルティがあります。他のアセンブラーの場合、これにはある種のものがよくあります。pseudo-op.align
です。ほとんどのコンパイラは、データ構造を整列します(ただし、デバッグ目的では無効にできます)。
この詳細についてはWikipedia entryを参照してください。
あなたが整列していないメモリセルにアクセスしようとすると非エミュレートMIPSシステムでもクラッシュする場合があるので注意してください(hereとhereを参照してください)。
他のアセンブラには同等の指示がありますか?
MASMは、ALIGNディレクティブを持っていますhttp://msdn.microsoft.com/en-us/library/dwa9fwef(VS.80).aspx
これは、2つのn乗にすべてを揃えます。 exampeのために、指示
その使用方法についてはに変換されます。そのない命令、そのディレクティブ:
MIPS32命令は32ビット長で、常にあります。したがって、各命令は単語境界で開始する必要があります。コードの開始前に.alignディレクティブを追加すると、32ビットに整列されます。これには多くの利点があります。命令のフェッチには1つのメモリアクセスしかかからず、おそらく命令キャッシュでは有益なものになるでしょう。
ダブルフロートをスタックに保管するのはどうですか? 8バイトアライメントが必要ですか? –
はい、倍精度は64ビットに整列します – Tom
- 1. MIPSシフト命令
- 2. アセンブリMIPS TAl命令
- 3. MIPS分岐命令
- 4. MIPS lb sw命令
- 5. MIPSアセンブリ命令数
- 6. MIPSの命令の質問
- 7. ジャンプ命令のMIPS範囲
- 8. MIPS "la"疑似命令
- 9. シングルサイクルMIPSプロセッサ命令実行
- 10. ADDIU命令エンコーディング(MIPS、GCC)
- 11. MIPS/UP16分岐命令
- 12. MIPS命令およびマシンコード
- 13. MIPS命令のタイミングと固定のハザード
- 14. オフセットありのMIPS 32 lb命令
- 15. 正規表現は、MIPS命令
- 16. divu MIPS命令でのGNU ASの動作のばらつき
- 17. MIPSのジャンプと分岐命令の範囲
- 18. 命令参照0x00400014で未定義のシンボル[MIPS]
- 19. MIPS分岐命令 - 分岐位置の取得
- 20. MIPSコードで実行された命令の総数?
- 21. MIPSの直接命令ori/addi/luiなどが必要です。
- 22. RDTSCPと命令命令
- 23. asm命令を使用してMIPS CPUレジスタを読み取る
- 24. rtはMIPS命令フォーマットで何を表していますか?
- 25. MIPS命令を32ビット16進数に変換する方法
- 26. MIPSに即時ロード命令と同じようにストアイミディエイト命令がありません
- 27. 命令レベルプロファイリング:命令ポインタの意味?
- 28. コンピュータアーキテクチャ命令宿題
- 29. mipsには32ビットのアドレスと32ビットの命令がありますか?
- 30. la命令はどのようにMIPSで翻訳されていますか?
外部リンクの追加説明をありがとう! –