プロが教える店舗&オフィスのセキュリティ対策術

MIPSに即値による減算命令が存在しないのはなぜでしょうか?

A 回答 (5件)

即値による加算命令と減算命令の違いは、突き詰めていくとキャリーとボローの扱いが異なるだけです。


MIPSにはキャリーフラグがありませんから、加算命令で減算を代用することに何の問題もありません。
    • good
    • 0
この回答へのお礼

ありがとうございます

お礼日時:2005/06/28 22:55

推測ですが、MIPSのようなRISCだと命令数を減らすため、なんでこれがというような命令が省かれていることがあります。



即値による減算が無くても、直前にレジスタにストアすれば済むという考えとか、汎用レジスタたくさんあるし。
あるいは、減算は加算で代用できるからいいという発想かもしれないですね。
実際問題として、即値演算自体、レジスタ-アキュムレータの演算に比べて特に早くありません。

もう一つの考えとして、コンパイラを使うと、即値はリテラルとしてメモリ上に配置されてしまうということもあるかも。即値演算自体の必要性が高くないのかもしれません。
    • good
    • 0
この回答へのお礼

ありがとうございます

お礼日時:2005/06/28 22:56

質問者さんは「即値」と断っています。


つまり、ごく小さな値の減算命令をテスト対象としないのはなぜか、ということです。
A-B=A+(-B)
と考えれば、Bの符号を変更する時間ぶん遅くなるので、即値の減算はメモリ値による減算でカバーしているコンピュータと思われます。
それとも、即値による減算がないコンピュータですかね?

もしかして、これは試験問題の一部ですか。
そうであれば、計測対象命令群から故意に除いたとも考えられます。
    • good
    • 0
この回答へのお礼

ありがとうございます

お礼日時:2005/06/28 22:56

減算=負数の加算なので、減算される即値を負数にかえれば、加算命令に変換が可能だからだと思います。

    • good
    • 0
この回答へのお礼

ありがとうございます

お礼日時:2005/06/28 22:56

これは想像ですが、即値による加算で代用できるからではないでしょうか。

    • good
    • 0
この回答へのお礼

ありがとうございます

お礼日時:2005/06/28 22:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!