# Exercise 2.34 code # # CPE 315 # fall 2001 # # By: Dan Stearns # Description: # Program copies words pointed to by $a0 to the address $a1 # until delimiter 0 is found. # Words copied are counted in $v0 # # # Notes: this is the code after bugs are fixed. # # Data Area .data buffer1: .word 9,8,7,6,5,4,0 buffer2: .word -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 # Program .text main: # load buffer addresses la $a0, buffer1 la $a1, buffer2 # initialize counter so sentinel doesn't count addi $t0, $0, -1 loop: lw $v1, 0($a0) sw $v1, 0($a1) # count words addi $t0, $t0, 1 # increment pointers to next word addi $a0, $a0, 4 addi $a1, $a1, 4 # test for sentinel bne $v1, $0, loop # Exit ori $v0, $0, 10 syscall