.data
value: .word 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
msg1: .asciiz "correct\n“
msg2: .asciiz "incorrect please try again\n“
msg3: .asciiz "===========================\n“
.text
main:
la $t0, value # array
li $s1, 0 # i
li $t1, 0 # index
li $t2, 0 # arr[index]
read:
li $v0, 5
syscall
add $t2,$t1,$t0 #t2=arr[t1]
sw $v0, 0($t2) #store to array
add $t1,$t1,4
add $s1, $s1, 1 # i++
beq $s1, 10 , line # i<10?
j read
line:
li $v0, 4 # draw a line
la $a0, msg3
syscall
guess:
li $s3, 0 # k
li $t3, 0 # index2
li $t4, 0 # arr[index2]
li $v0, 5
syscall
inner_for:
add $t4,$t3,$t0
lw $t5,0($t4) #arr[index2] load to $t5
bne $v0,$t5,ER
li $v0, 4
la $a0, msg1 #print correct
syscall
j guess #restart guess
ER:
add $s3, $s3, 1 # k++
add $t3,$t3,4
beq $s3, 10 , while # k<10?
j inner_for
while:
li $v0, 4
la $a0, msg2 #print incorrect
syscall
j guess