作者guanrulee (Cobra)
看板PLT
标题[问题] MIPS与C语言的转换问题
时间Wed Jul 1 11:55:50 2009
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 <~~~请问这个换成MIPS机器语言是 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