1

我正在尝试做一个 mips 互动练习(BubbleSort)。我必须从用户那里读取 20 个整数并将它们存储到一个数组中,然后使用 BUBBLESORT 的方法对数组进行排序。我在将整数存储到数组中时遇到问题。这是我的一些代码:

。数据

prompt:.asciiz "enter the integer one by one \n "

。文本

        addi $sp,$sp,-88               #space on the stack
    lui  $s0, 0x0040                   #s0=adress of array
    sw   $s0,-84($sp)                  #store s0 on the stack
    sw   $ra,-80($sp)                  #store ra on the stack

读入:

    #prompt the user
    li $v0, 4                          #op code to print string
    la $a0, prompt
    syscall

    #get the array's integer
    addi $t0,$zero,0                    #t0=compteur
    addi $a1,$zero,80                   #a1=size of array*4 (20 int)
    move $a0,$s0                        #a0= adress of array 

环形:

beq  $t0,$a1,BubbleSort             #if t0 = size of array ==>BubbleSort
    li   $v0,5                          #opcode to read int
    syscall 
  **sw  $v0,0($a0)**                    ERROR HERE !!!! :(
    addi $a0,$a0,4                      #increment a0  (next int)   
    addi $t0,$t0,4                      #incrementer t0  (counter +=4)
    j loop
4

0 回答 0