- ベストアンサー
アセンブリ言語の演算命令と論理演算命令の動作について
- アセンブリ言語の演算命令と論理演算命令の動作について説明します。
- 演算命令では、4つのレジスタを使用し、加算や減算を行います。
- 論理演算命令では、2つのレジスタの論理積や論理和を計算します。また、複数の論理演算結果を組み合わせて論理和を計算することも可能です。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
各々の命令の動作を先ずチェックして下さい。 授業で計算機の命令セットの説明はあったと思われますが。 それが分れば最初の問題は一桁の加減算で小学生でも解けます。 sub $v0,$t の$t は初めて出て来るようですが? sub $v0,$t0,$t1 等ではないでしょうか。 addi $s1,$zero,8 の命令の $zero はレジスタ番号ではなく、レジスタやメモリの内容は使用しないの意味でしょう。 addi <==> add immediate, $zero, 8 <==> immediate value 0, 8 を使って加算 <==> 0 + 8 その結果を $s1 レジスタに書き込む <==> $s1 = 8 となる筈でしょう。 sub $t0, $s0,$s1 <==> レジスタ$s0,$s1の内容を減算し結果をレジスタ$t0に書き込む 多分各命令の動作は以上のようだと思われます。 後は自分で計算して下さい。 (+-2? 8? etc)
その他の回答 (2)
- _kappe_
- ベストアンサー率68% (1585/2310)
既に指摘されているsub $v0,$tの部分以外はMIPSプロセッサのアセンブリ言語に見えます。 丸投げするのではなく、何が分からないのかを書きましょう。
- kmee
- ベストアンサー率55% (1857/3366)
アセンブリ言語の動作はCPUの種類によって違いますし、同じCPUでもアセンブラの種類によって記述方法が違います。 プログラムだけ見せられてもわかりません。 特に sub $v0,$t これが正しいかどうかの判断もできません。 単語等から予想すると、単純に計算しているだけに思います。 これができないのなら「最初から学習しなおしてください」というレベルだと思われます もし、自分で解いて、答え合せがしたい、という場合は、その答えを補足してください。