2011-12-26 11 views
1

MIPSのsubu命令でマイナスの結果が得られるか、それとも符号なしのバージョンのサブを実行しているので、結果は常に正の値になりますか? また、算術右シフトを行い、数値の0番目に1を入れる場合は、sra命令を使用すべきですか、それとも別の命令がありますか?MIPSの命令の質問

答えて

3

すべての機械命令と同様に、subuは、バイナリ結果(32ビットがデスティネーションレジスタに格納されます)を提供します。これらのビットは単なるビットであり、それ自体が正でも負でもなく、どのように解釈するかによって異なります。符号付き整数として解釈する場合、整数は正または負である可能性があります。代わりにビットを浮動ポインタ番号として扱うことができます。ビットがどこから来たのかは無関係ですが、それは非官能的かもしれません。

subsubuの間の唯一の違いは、オーバーフローでトラップし、符号付き整数として扱うということです。 subuはまったく同じ結果を生成しますが、トラップしません。

sra最上位ビット(レジスタのビットを符号付き整数として扱う場合は符号ビット)を1つだけシフトダウンして、それを空けた上位の位置にコピーします