# Random number generator # Uses the iterative formula seed = (a * seed + b) mod c .text .globl __start __start: li $t1, 31 # a = 31 li $t2, 23 # b = 23 li $t3, 1000 # c = 1000 mul $t0, $t1, $t0 # $t0 = a * seed add $t0, $t0, $t2 # $t0 = a * seed + b div $t0, $t3 # hi = (a * seed + b) mod c mfhi $t0 # $t0 = hi ($t0 = seed) move $a0, $t0 # $a0 = seed li $v0, 1 # syscall #1: print integer ($a0) syscall # print seed li $v0, 4 # syscall #4: print string (address in $a0) la $a0, nl syscall # print new line #------------------------------------------------------- .data nl: .asciiz "\n"