2015.11.11 分 コンピュータアーキテクチャI コーナー お願い:手書きレポートは,誤字脱字が目立ちます.ワープロレポートは変換ミスが目立ちます. レポートは読み返して,そういう間違いを極力減らしてください. (もちろん私も努力します. ) 1 質問と回答 1. slt と sltu の違いがいまいちよく分かりません. 回答:slt は 2 の補数表示された数同士の比較,sltu は符号なし数同士の比較を行います. 2. 演習 6 の問題に関して,jr 命令の使い方がよく分かりません. 回答:jr 命令は,レジスタが持つ値のアドレスにジャンプする命令です.演習 6 では,case ラベルのアドレスが格納されたテーブルを引いて,飛び先アドレスをレジスタに格納し,そ のアドレスに飛ぶようになっています. 3. jr 命令はレジスタの指す番地に飛ぶということなのですが,飛ぶ先のラベルの指定方法がわ かりません. 回答:演習 6 の解答例を見てください.解説を付けておきました. 4. 制御フローグラフについて,調べたがどのようなものかよく分からなかったので制御フロー グラフについての説明がほしいです. 回答:制御フロー = 制御の流れ.命令の実行順序がどのように変わっていくか示した もの.フローチャートです. 5. sw の使いどころがよく分かりません. 回答:レジスタのデータをメモリ(メインメモリのこと)に格納するときに使います.講 義では,変数はレジスタに割り当てられているとして扱っていますが,実際には,変数はメ モリに割り当てられます.したがって,メモリからレジスタに読み出して演算を行い,結果 をメモリに戻す必要があります.その時に使います. 6. 問題 2.18.1 の解答についてですが,制御フローグラフに開始 はいらないのですか? 回答:あったほうがいいでしょうね.ただし,教科書 p.95 は,プログラムの部分に対する フローなので,開始 は書いてないのだと思います. 7. 先週の Q&A のおまけの問題を考えてみましたが,これで合っているでしょうか? 解答:0 にしたいレジスタを$t0 とする. sub $t0,$t0,$t0 回答:結構ですよ.積極性を評価します.まだ他にもあります.考えてみて下さい. 8. while 文,case 文のアセンブリコード翻訳があまり理解できなかったので詳しく教えてくださ い. 回答:講義ノートおよび教科書を 5 回読み直してください.それでわからなかったら,聞 きに来てください. 9. 演習 4 で bne を beq に変更した場合,下記のコンパイルで合っていますか? 1 beq $s3, $s4, Then #g=h のとき Then へ sub $s0, $s1, $s2 #f=g-h j Exit Then: add $s0, $t1, $t2 Exit: #f=g+h 回答:あってます. 2
© Copyright 2024 ExpyDoc