看板 Grad-ProbAsk 關於我們 聯絡資訊
請問一下 為什麼當n==0時執行完return後,不是會跳到lw那邊嗎,那怎麼lw完之後就沒做任何事情了 不用相加完之後再jr $ra嗎? https://i.imgur.com/ubv8Fnk.jpg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.173.29.120 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1570867957.A.EB2.html
mistel: lw完繼續往下啊 return只是label而已 10/12 17:20
yoz4ni: lw完下面不是就到return: 了嗎,return 不是上面beq成立才 10/12 17:43
yoz4ni: 會執行喔? 10/12 17:43
ekids1234: 沒 預設是按順序執行 10/12 17:59
ekids1234: 就像是你寫 C code 中間 beq 只是一行 if 10/12 18:00
ekids1234: if 以外的都按照一行一行往下走 10/12 18:00
yoz4ni: 所以lw執行完後就會執行return的部分 10/12 19:07
yoz4ni: 只是beq成立的話先做return在跳回去囉? 10/12 19:08
Ricestone: 都沒有要跳回去 10/12 19:17
DLHZ: 跳過去就是跳過去了 你不動pc他就是一直+4下去 10/12 20:17
yoz4ni: 所以不管beq那行,只要做到lw $a0, 0($sp)之後 10/12 22:43
yoz4ni: 就會接著做return下面那3行嗎 10/12 22:44
ekids1234: 是 除非你遇到明確會跳的指令 符合條件才會跳躍 10/12 23:00
yoz4ni: 好的謝謝各位 10/12 23:45