高分求问题答案,急!
1 Translate MIPS assembly code into a function in C/C++
* your code should be concise
* no any GOTOs/pointers
MIPS code:
func:
li $v0,0
li $t0,0
l1:
add $t1,$a0,$a0
lb $t2,0($t1)
beq $t2,$zero,l3
bne $t2,$a1,l2
add $v0,$v0,1
l2:
add $t0,$t0,1
j l1
l3:
jr $ra
(caller register: $t0~$t9,$a0~$a3,$v0~$v1; callee $s0~$s7,$ra)
然后列出了指令表,li是赋值,lb是将字段后第一个寄存器内容个字节的内容复制到第二个寄存器,beq是等值转移ben是不等值转移,j是无条件转移,jr转移至寄存器标示的内容.