(a) 以Node.js編碼計算:and $r4,$r6,$r8為R-type,opcode=0、rs=$r6=6、rt=$r8=8、rd=$r4=4、shamt=0、funct(AND)=100100,組出的32-bit二進碼為00000000 11001000 00100000 00100100,與敘述給出的binary完全一致,正確。(b) 以Node.js編碼計算:sw $r5,-7($r9)應為opcode=43、rs=$r9=9、rt=$r5=5,16-bit offset的-7的二補數表示為1111111111111001(0xFFF9),組合後應為10101101 00100101 11111111 11111001;而敘述給出的低16 bits是1000000000000111(0x8007),並非-7的二補數表示,數值不符,敘述編碼錯誤。(c) beq分支的下一個PC值正確公式應為『(beq指令位址+4) + (16-bit位移欄位以二補數表示後左移2 bits取得的word offset)』,敘述省略了『+4』與『左移2 bits(×4)』兩個關鍵步驟,敘述不完整/錯誤。(d) 依題目所附控制表,R-type的sub指令ALUOp=10、funct=100010對應ALU control=0110,且R-type指令的標準control訊號組合本就是Branch=0(非分支指令)、RegDst=1(目的暫存器來自rd欄位)、ALUSrc=0(第二運算元來自暫存器而非immediate)、MemtoReg=0(寫回資料來自ALU而非記憶體),與敘述完全相符,正確。