0

所以我在 MIPS 程序集中为我的 comp arch 类编写了一个简单的程序。我们现在需要增强这个程序,以便它接受两个参数。如果参数都相同,那么答案应该与只接受一个参数的原始程序的答案相同。如果它们不同,那么您应该根据上述情况弄清楚您的程序应该做什么。尝试进行尽可能少的更改。增强程序以允许它从键盘接收两个参数并在 SPIM 的控制台窗口中显示结果。如果任何输入参数为负数(小于零),您的增强程序应在控制台中显示零。

这是我未增强部分的代码:

.data   
arg:    .word   5

.text
.globl main
main:

la  $t3, arg    
lw  $t2, 0($t3) 
lw  $t3, 0($t3)

addi    $t1, $zero, 0
beqz    $t2, fin        
fori:

add $t1, $t1, $t2   
addi    $t3, $t3, -1

bnez    $t3, fori       

fin:

li  $v0, 10
syscall 
4

1 回答 1

1

这是从键盘读取整数并将其存储在arg1.

        .data
  arg1: .word 0
        .text
        li $v0, 5        # system call code for read int
        syscall          # read the int
        la $t0, arg1
        sw $v0, 0($t0)   # store the integer at location arg1
于 2015-03-03T18:35:05.670 回答