Re: [理工] 計組 94台大電機

看板Grad-ProbAsk作者 (ㄚ嘉)時間12年前 (2011/12/28 00:00), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《RoyalCh (不想當小螺絲釘!)》之銘言: : http://goo.gl/NhDf5 : 想問第八題的d小題 : 張凡的解答如下 : http://ppt.cc/zIbb : 我劃掉的地方先無視 : 想問一下為什麼add跟addi要調換順序? beq可能會跳到end執行下面這行 END: sw $t3 , 8($a0) 而這行會把 $t3 的值存到memory中 之所以要把add addi互換,就是delay branch裡面插入的指令要不會影響程式的結果 而原本的code beq $t2 , $t0 , END addi $t3 , $t3 , 1 //這行是delay branch slot 但他會改到$t3的值 add $t2 , $t2 , $t1 //這行就沒差 不會動到$t3 j loop END: sw $t3 , 8($a0) //這是程式主要要輸出的結果,$t3是商數 所以把add addi對調,雖然在跳到end的時候 $t2會被多加一次,但不會影響程式正確性 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.218.169

12/28 14:37, , 1F
謝謝!
12/28 14:37, 1F
文章代碼(AID): #1E-Ukv3Z (Grad-ProbAsk)
討論串 (同標題文章)
文章代碼(AID): #1E-Ukv3Z (Grad-ProbAsk)