[理工] 計組 遠距離分支

作者: tomdog12345 (方)   2016-07-24 11:18:47
剛剛傳錯圖了抱歉


如圖 是張凡計組上的一題練習題
考的是遠距離分支
我疑惑的是為何答案寫成這樣:
here: bne $s0, $s2, skip
j there
skip: ...
there: add $s0,$s0,$s0
就能跳到原本跳不到 的地方(超過16bit可表示的地方)?
有誰知道更詳細一點的解釋嗎QAQ 謝謝!
作者: A4P8T6X9 (殘廢的名偵探)   2016-07-24 12:18:00
因為 J 的距離比較遠啊,這就是二段跳。
作者: tomdog12345 (方)   2016-07-24 12:26:00
那它前一條指令改寫成bne 後面加個skip的用意是什麼@@
作者: kyuudonut (善良老百姓)   2016-07-24 14:00:00
做原本要做的事情
作者: ken52011219 (呱)   2016-07-24 17:21:00
別被誤導變數名字誤導了 寫 skip 就是跳到名為 skip的副程式 RUN完就繼續做主程式部分額 RUN完就繼續做主程式 <<<這句當我沒說這裡就是的 IF ELSE 的組語版
作者: tomdog12345 (方)   2016-07-24 18:43:00
if $s0= $s2 做jump , else 做 skip就是中間那段...的程式碼剛剛看了kyu大的解答 看懂了 ! 謝謝大家的幫忙

Links booklink

Contact Us: admin [ a t ] ucptt.com