相关疑难解决方法(0)

MIPS汇编语言 - 临时寄存器与保存的寄存器

到目前为止,我一直使用寄存器$ s0- $ s9和寄存器$ t0- $ t9相同.我被告知并阅读了无数的论坛帖子和段落,并在Google上解释了这些差异,但没有编码示例.我被告知我应该看到它与使用程序有什么区别,但是我已经创建了无数个涉及程序的方案,试图找到保存的寄存器与临时寄存器之间的区别但是我失败了.

我想看一个相对简单的例子,其中$ t0-9寄存器与$ s0-9寄存器的作用不同,结果会产生不同的值?

assembly mips

25
推荐指数
1
解决办法
4万
查看次数

具有四个以上参数的MIPS函数调用

我知道,只要我在MIPS中拥有一个具有四个以上参数的函数,就应该利用堆栈。但是,在下面的代码中,将第五个参数保存在sw $t0, 4($sp)并执行a之后jal sad,然后在sad函数的开头,我再次调整堆栈指针以保存$sx调用者使用的寄存器。我在这里做错什么了吗?

vbsme:  subu    $sp, $sp, 8     # create space on the stack pointer
    sw  $ra, 0($sp)     # save return address   

    li  $v0, 0          # reset $v0 
    li  $v1, 0          # reset $v1
    li  $s0, 1          # i(row) = 1 
    li  $s1, 1          # j(col) = 1
    lw  $s2, 0($a0)     # row size
    lw  $s3, 4($a0)     # col size
    mul     $s4, $s2, $s3       # row * col
    li  $s5, 0 …
Run Code Online (Sandbox Code Playgroud)

mips

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

mips ×2

assembly ×1