作者guanrulee (Cobra)
看板Grad-ProbAsk
标题[理工] 计算机组织与结构-MIPS语言转换至C语言
时间Wed Jul 1 11:53:13 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 <~~~请问这个换成机器语言是 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
1F:推 whisp1222:-24吧 07/01 12:41
2F:→ guanrulee:bne,beq指令後面的常数不是代表的是word吗? 07/01 14:29
3F:→ guanrulee:实际位址要再乘以4 07/01 14:29
※ 编辑: guanrulee 来自: 61.228.206.147 (07/01 14:30)
4F:→ gqqueen:格式有误喔,请按T修改罗,让以後的人好搜寻喔 07/01 17:05
5F:推 SONGya168:请在科目加注中括号: [计算机组织]-... 修好後解锁文 07/01 19:02