MIPS - 两个数组中的输入

时间:2016-08-13 17:50:20

标签: mips

我需要构建一个MIPS程序,它从用户那里得到20个整数(每个数字必须比以前更大,例如输入3,5,4或3,4,4不正确)然后放入它们在两个数组中(每个数组得到10个元素)。只有当值在两个数组中时,程序才应该在基数10和基数4中以递减的方式打印值(例如,如果我们在两个数组中都有数字-5,-6,2,它应该打印2,-5, -6和2,-11,-12)。

我试过并编写了这段代码:

.data 
array1: .space 40 # first array store 10 integer elements 
arrend1:
array2: .space 40 # second array store 10 integer elements 

openMsg: .asciiz "Please enter 20 numbers: "

.text


main:
    # print openning message
    li      $v0,4 
    la      $a0, openMsg
    syscall 

    la      $t3, array1               # load base addr. of array1
    la      $t4, array2               # load base addr. of array2
    la      $t5, arrend1              # load address of array1 end

get_array: 

    # get the user's integar
    li      $v0, 5
    syscall 

    move    $t0, $v0                  # store the result in $t2
    sw      $t0, array1               # store word in register $t0 into RAM at address contained in $a1
    addi    $t3,$t3,4                 # increment array pointer

    blt     $t3,$t5,get_array         # branch to get_array if  i < 10

此代码只能从用户获取输入并将其放入第一个数组中。我该如何继续这个?

0 个答案:

没有答案