[理工] 計組 遠距離分支

看板Grad-ProbAsk作者 (方)時間9年前 (2016/07/24 11:18), 編輯推噓3(308)
留言11則, 4人參與, 最新討論串1/2 (看更多)
剛剛傳錯圖了抱歉 http://i.imgur.com/3IPEVMx.jpg
如圖 是張凡計組上的一題練習題 考的是遠距離分支 我疑惑的是為何答案寫成這樣: here: bne $s0, $s2, skip j there skip: ... there: add $s0,$s0,$s0 就能跳到原本跳不到 的地方(超過16bit可表示的地方)? 有誰知道更詳細一點的解釋嗎QAQ 謝謝! ----- Sent from JPTT on my Sony D6653. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.138.4.216 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1469330329.A.B37.html

07/24 12:18, , 1F
因為 J 的距離比較遠啊,這就是二段跳。
07/24 12:18, 1F

07/24 12:26, , 2F
那它前一條指令改寫成bne 後面加個skip的用意是什麼@
07/24 12:26, 2F

07/24 12:26, , 3F
@
07/24 12:26, 3F

07/24 14:00, , 4F
做原本要做的事情
07/24 14:00, 4F

07/24 17:21, , 5F
別被誤導變數名字誤導了 寫 skip 就是跳到名為 skip
07/24 17:21, 5F

07/24 17:22, , 6F
的副程式 RUN完就繼續做主程式部分
07/24 17:22, 6F

07/24 17:27, , 7F
額 RUN完就繼續做主程式 <<<這句當我沒說
07/24 17:27, 7F

07/24 17:31, , 8F
這裡就是的 IF ELSE 的組語版
07/24 17:31, 8F

07/24 18:43, , 9F
if $s0= $s2 做jump , else 做 skip就是中間那段...
07/24 18:43, 9F

07/24 18:43, , 10F
的程式碼
07/24 18:43, 10F

07/24 18:53, , 11F
剛剛看了kyu大的解答 看懂了 ! 謝謝大家的幫忙
07/24 18:53, 11F
文章代碼(AID): #1Nb3EPit (Grad-ProbAsk)
文章代碼(AID): #1Nb3EPit (Grad-ProbAsk)