MIPS,寄存器,初学者

时间:2016-02-20 20:56:26

标签: compiler-construction mips

刚开始学习MIPS,有人可以用这个简单的代码解释一下细节:这是代码:

main:

    li $v0, 5
    syscall
    move $t0, $v0

    li $v0, 5
    syscall
    move $t1, $v0

    add $t2, $t0, $t1

    move $a0, $t2
    li $v0, 1
    syscall
exit:   
    li $v0, 10
    syscall

这就是我的理解:li $v0 5 syscall - 意味着立即加载一个读取的整数(在$v0?我认为)。然后我继续前进,添加......

当我开始不理解时,行:li $v0, 1 syscall - 出现了。这必须意味着打印一个整数(来自$v0?)。如何打印$a0$t2。这是如何工作的?

就像这个例子:

 la $a0, str1
 li $v0, 4
 syscall  

这会打印$a0的字符串。为什么不打印另一个字符串,但具体是这个?是否打印了提到的最后一个字符串的规则(在这种情况下。)

1 个答案:

答案 0 :(得分:0)

这只是系统调用可用服务的一部分:http://courses.missouristate.edu/KenVollmar/mars/Help/SyscallHelp.html

global-config does not define the variable lib