[理工] 计组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