→ BaaaSwin:請問1bit和2bit的初始狀態怎麼設定?? 12/25 01:42
→ yraid:這裡1-bit和2-bit都是假設從0開始 12/25 12:51
→ BaaaSwin:1bit每一輪結束(除了最後一輪),不是都是猜跳嗎?? 12/25 13:13
→ BaaaSwin:!!!我懂了 12/25 13:14
→ BaaaSwin:謝謝 12/25 13:15
→ wsx02:感謝y大的回文 原文中d大好像用2.的方式 共200次beq的方法 12/25 22:26
推 wsx02:這樣關鍵應該是在題目指的是1的210次beq 12/25 22:28
→ wsx02:還是2的200次beq 12/25 22:28
其實我覺得應該是接近第一種啦...
但是那個敘述還是有點問題,
若按照for loop來說,就是
for(i = 0; i<10; i++)
for(j = 0; j<20; j++)
這裡不用額外再補beq進去...
可以想像成把c裡的for loop翻成組語,自然就會加上branch指令。
因為每次for loop最後都會有跳躍發生(有跳躍才會形成loop)
除了最後一次,因為不滿足該層loop的條件就會不跳,離開loop。
而題目的敘述就是在說這個意思,沒有跳躍指令就不會形成loop,
因此當然兩層loop最後都有跳躍指令囉...
in 組語的話,它的雙層迴圈意思應該是這樣
addi $t1, 10 //i initialize to 10
Ounter:
/* statement */
addi $t2, 20 //j initialize to 20
Inner:
/* statement */
addi $t2, -1 //j--;
bne $t1, $zero Inner //when j is 0, exits inner loop
/* statement */
addi $t1, -1 //i--;
bne $t2 $zero Outer //when i is 0, exits outer loop
※ 編輯: yraid 來自: 111.240.173.66 (12/25 23:40)