# write functions that print a random number of *s up to 100 to character output .text # initialize random number generator li $v0,30 # get time syscall move $a1,$a0 # low order time bits used as random seed li $v0,40 li $a0,1 syscall # set random seed for gen ID=1 jal printstars addi $a0,$0,'\n' li $v0,11 syscall # print newline li $v0,10 syscall printstars: move $t0,$ra # stash $ra to $t0 li $a0,100 # maximum random number jal rand # get random number move $t1,$v0 # save return value addi $a0,$0,'*' # char to print li $v0,11 # print char printloop: beq $t1,$0,printexit syscall addi $t1,$t1,-1 j printloop printexit: jr $t0 # saved return address rand: move $a1,$a0 # put max into $a1 for syscall li $a0,1 # rand gen ID=1 li $v0,42 syscall move $v0,$a0 # set up return value from rand jr $ra