• ベストアンサー

コンピュータアーキテクチャ

写真の左のCプログラムの断片をコンパイルした結果、右のMIPSアセンブリプログラムが得られるとします。 空欄に入る命令を答える問題です 空欄の自分の答えが合っているかどうかを知りたいです 答え andi $24,$28,6 間違っている場合は正しい答えを知りたいです

この投稿のマルチメディアは削除されているためご覧いただけません。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

>andi Rt, Rs, Imm Rt = Rs & Imm なので、「6」じゃなくて、6ビットシフトした値-1 じゃないですか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • コンピュータアーキテクチャ

    写真の左のCプログラムの断片をコンパイルした結果、右のMIPSアセンブリプログラムが得られるとします。 空欄に入る命令を教えて欲しいです お手数をおかけしますがよろしくお願いします

  • コンピュータアーキテクチャ

    写真の左のCプログラムの断片をコンパイルした結果、右のMIPSアセンブリプログラムが得られるとします。 空欄に入る命令を教えて欲しいです (sraのような) お手数をおかけしますがよろしくお願いします

  • コンピュータアーティテクチャ

    写真の左のCプログラムの断片をコンパイルした結果、右のMIPSアセンブリプログラムが得られるとします。 空欄に入る命令を教えて欲しいです

  • コンピュータアーティテクチャ

    写真の左のCプログラムの断片をコンパイルした結果、右のMIPSアセンブリプログラムが得られるとします。 (6)の空欄に入る命令を教えて欲しいです

  • コンピュータアーティテクチャ

    写真の左のCプログラムの断片をコンパイルした結果、右のMIPSアセンブリプログラムが得られるとします。 (7)の空欄に入る命令を教えて欲しいです お手数をおかけしますがよろしくお願いします

  • アセンブリプログラムの問題です。

    アセンブリプログラムの勉強をしているのですが、以下の問題がわかりません。 (1) 変数f, g, h, i, j はCのプログラム内で32ビットの整数として宣言されているものとする。 以下のCのステートメントをMIPSのアセンブリコードで表せ。 また、f, g, h, i, j の値がそれぞれ1, 2, 3, 4, 5 であるならば最終的なfの値はいくつか。 a. f = g + f + i ; b. f = g + (h + 2); (2) 変数f, g, h, i, jはそれぞれ$s0, $s1, $s2, $s3, $s4に割り当てるられているものとする。また、配列AとBのベースアドレスは、それぞれレジスタ$s6 と$s7 に割り当てられているものとする。 次のCのステートメントをMIPSのアセンブリコードで表せ。 a. f = g + h + B[4] ; b. f = g - A[ B[4] ] ; c. f = -g + h + B[1] ; d. f = A[ B[g] + 1 ] ; (3) (2)の設定において、次のMIPSのステートメントをCのステートメントで表せ。 また、可能ならばこのMIPSアセンブリコードを同じ機能を果たしながらMIPS命令の数が最小になるように書き直せ。 a. add $s0, $s0, $s1 add $s0, $s0, $s2 add $s0, $s0, $s3 add $s0, $s0, $s4 b. lw $s0, 4($s6) 以上です。わかるものだけでも良いので教えてもらえますでしょうか?

  • 情報処理の問題ですが

    情報処理の問題ですがどなたか解き方を教えて頂けますでしょうか? 宜しくお願い致します。 問題 8000万個の命令を実行するプログラムを60MIPSで実行した場合に 予想される処理時間は何秒か(小数点第3位を四捨五入する) ここで プロセッサの使用率は75%としてオペレーティングシステムのオーバーヘッドは考えないものとする。なお、次の計算式を参考にするとよい (1)1秒間に実行できる命令数=MIPS値×使用率 (2)プログラム処理時間=プログラム命令数/1秒間に実行できる命令数 (3)MIPS値=1秒間に実行できる命令数を百万の単位で示したもの

  • オブジェクトファイルのファイルフォーマット

    オブジェクトファイルのファイルフォーマット ELF/DWARF2形式について調べています。 C言語で作ったプログラムをコンパイルし生成されるオブジェクトファイルをバイナリエディタで開き、アセンブリ言語と比較すると、オブジェクトファイルの最初と最後にプログラムの内容(命令)と直接関係ないものが含まれていることが分かりました。 例えば、オブジェクトファイルのある場所や、コンパイルされた日時などです。(これらの情報はテキストだったので判別ができました。) インターネットで調べたところ、生成されたオブジェクトファイルがELF/DWARF2形式とうフォーマットで作られているというところまでは分かりました。 実際のオブジェクトファイルのヘッダとフッタ(命令の前後)を除いて、純粋な機械語(命令)の部分を取り出したいのですが、このELF/DWARF2形式というフォーマットでは、どうすれば、純粋な機械語の始まりと終わりを読み取ることができるでしょうか? よろしくお願いいたします。

  • コンパイルの逆はできますか??

    プログラムの本にこんなことが書いてありました。 『人間にわかる文字をコンパイルして、CPUのわかる0101にします。』 これを見て思ったのですが、CPUのわかる0101文字を逆に人間にわかる文字に返すことは出来ますか?? 他にも、JavaやCで書いた命令をコンパイルし、CPUのわかる0101文字にしてから逆にコンパイルして、JavaをCに変えたり、CをJavaに変えたりできるってことですか??

  • G=4∏√(X²+T²)

    問題は G=4∏√(X²+T²) をX=に直せ、というものです。 写真の通り、左が答えで右が私の出した答えです。 答えと少し違いますが私の答え方でも合っていますか?それとも間違っていますか? 100%自信が無いので教えて頂けたら助かります。