• 締切済み

MIPSアセンブラの問題です。

現在参考書で勉強しているのですが。 「2の補数表現の整数の絶対値を求める最短のMIPS命令ステップを示せ、下記の命令をMIPSで変換してみよ abs $t2,$t3」 この問題にてこずっています; シフト命令がまだ出てきていないので、私が考えたマイナスだったら1ビットずつシフトを使い変数にコピーし条件分岐で1であれば0を、0であれば1を違う変数にどんどんつめていけばいいんじゃないかっていう方法が取れません(私の考えた方法はすごく効率が悪いと思っています;) どなたかお分かりになる方、教えてください。

みんなの回答

  • rinkun
  • ベストアンサー率44% (706/1571)
回答No.1

MIPSの仕様を知らないし任意の命令を使えるわけでもないようなので、できるかどうか分からないけど。 通常は2の補数表現を-1倍するには全ビット反転して1を足します。 絶対値の計算には正か負かを判定して負の場合は-1倍するという手順でやります。

wooolongcha
質問者

お礼

回答ありがとうございます、なんとか解けました^^

関連するQ&A