[問題] MIPS語言與C語言的問題
addi $v0, $zero, -1
loop: lw $v1, 0($a0)
addi $v0, $v0, 1
sw $v1, 0($a1)
addi $a0, $a0, 4
addi $a1, $a1, 4
bne $v1, $zero, loop <~~~請問這個換成機器語言是 5 3 0 -6嗎?
因為解答是 5 3 0 -20 好像不對吧^^"
第二個問題是換成C語言 count 是$v0 source 是$a0 destination 是$a1
則可寫成 count=-1
do
{
temp = *source ;
count = count + 1 ;
*destination = temp ;
*source = *source +1 ; <~~~~~
*destination = *destination +1 ; <~~~
}
這兩行為什麼要加* 不是暫存器內的位址+1嗎?
加了*怎麼好像是 是把記憶體內的DATA+1再存進去
有C高手可以來解釋一下嗎? 謝謝~
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.209.101
推
07/01 13:53, , 1F
07/01 13:53, 1F
→
07/01 13:55, , 2F
07/01 13:55, 2F
→
07/01 13:55, , 3F
07/01 13:55, 3F
推
07/01 14:00, , 4F
07/01 14:00, 4F
推
07/01 14:06, , 5F
07/01 14:06, 5F
→
07/01 14:08, , 6F
07/01 14:08, 6F
→
07/01 14:08, , 7F
07/01 14:08, 7F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章