作者serflygod (serflygod)
看板Grad-ProbAsk
標題[理工] [計組]-MIPS
時間Tue Oct 5 16:04:47 2010
http://i215.photobucket.com/albums/cc91/serflygod/040778.jpg
我想問的地方是
在loop那一段
add $t1,$t1,$t0
addi $t0,$t0,1
slt $t8,$t0,$t2
bne $t8,$zero,loop
能不能改成
slt $t8,$t0,$t2
bne $t8,$zero,loop
add $t1,$t1,$t0
addi $t0,$t0,1
自己算,書上解答,$t0可以加到20就跳出迴圈
自己的寫法,應該也是$t0加到20就跳出迴圈
但對於程式苦手
想po上來跟大家討論一下
懇請指點
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.224.135.142
推 privatewind:本題可以, 而且理論上是你的code較為正確 10/05 17:08
→ privatewind:因為for loop在每次執行loop body前都會先判斷條件 10/05 17:09
→ privatewind:所以for(i=0;i<-1;++i) ; 也就不會進入function body 10/05 17:10
→ privatewind:但是解答的寫法是do{}while(); 的寫法 10/05 17:10
→ privatewind:不過本題 兩種程式碼出來的結果都一樣就是了 10/05 17:11
推 sallet:咦? 那"loop:"要放在? 10/05 17:46
推 privatewind:囧,拍謝~ bne 要改成beq,並且多exit,多加一行jump 10/05 17:56
→ serflygod:感謝解答 10/06 11:04