# Linked list traversal routine. .data head: .word A # next-pointer .word 55 # data A: .word B .word 66 B: .word C .word 77 C: .word 0 # null pointer .word 88 nl: .asciiz "\n" .text # $t0 holds 'next' pointer # $a0 holds data value main: la $t0,head loop: beq $t0,0,done # while ($t0!=null) do lw $a0,4($t0) # Load data value li $v0,1 # print data value syscall la $a0,nl # print nl li $v0,4 syscall lw $t0,0($t0) # $t0 = $t0.next b loop # end while done: li $v0,10 # exit syscall