我正在尝试做一个 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