[理工] 計組p64

作者: yoz4ni (yoooooz)   2019-10-12 16:12:35
請問一下
為什麼當n==0時執行完return後,不是會跳到lw那邊嗎,那怎麼lw完之後就沒做任何事情了
不用相加完之後再jr $ra嗎?
https://i.imgur.com/ubv8Fnk.jpg
作者: mistel (Mistel)   2019-10-12 17:20:00
lw完繼續往下啊 return只是label而已
作者: yoz4ni (yoooooz)   2019-10-12 17:43:00
lw完下面不是就到return: 了嗎,return 不是上面beq成立才會執行喔?
作者: ekids1234 (∵:☆星痕╭☆)   2019-10-12 17:59:00
沒 預設是按順序執行就像是你寫 C code 中間 beq 只是一行 ifif 以外的都按照一行一行往下走
作者: yoz4ni (yoooooz)   2019-10-12 19:07:00
所以lw執行完後就會執行return的部分只是beq成立的話先做return在跳回去囉?
作者: Ricestone (麥飯石)   2019-10-12 19:17:00
都沒有要跳回去
作者: DLHZ ( )   2019-10-12 20:17:00
跳過去就是跳過去了 你不動pc他就是一直+4下去
作者: yoz4ni (yoooooz)   2019-10-12 22:43:00
所以不管beq那行,只要做到lw $a0, 0($sp)之後就會接著做return下面那3行嗎
作者: ekids1234 (∵:☆星痕╭☆)   2019-10-12 23:00:00
是 除非你遇到明確會跳的指令 符合條件才會跳躍
作者: yoz4ni (yoooooz)   2019-10-12 23:45:00
好的謝謝各位

Links booklink

Contact Us: admin [ a t ] ucptt.com