board_one:
.space 3600
board_two:
.space 3600
set_boards:
addi $sp, $sp,-16
sw $ra, 0($sp)
sw $s0, 4($sp)
sw $s1, 8($sp)
sw $s2, 12($sp)
move $s4, $s0
la $s0, board_one
la $s1, board_two
li $s2, 0
mul $s3, $s4, $s4
jal set_zero_loop
lw $ra, 0($sp)
lw $s0, 4($sp)
lw $s1, 8($sp)
lw $s2, 12($sp)
addi $sp, $sp, 16
jr $ra
set_zero_loop:
beq $s2, $s3, done_looping
li $v0, PRINT_INT # print generation counter
move $a0, $s2
syscall
li $s4, 5
sw $s4, 0($s0)
sw $s4, 0($s1)
addi $s1, $s1, 4
addi $s0, $s0, 4
addi $s2, $s2, 1
j set_zero_loop
done_looping:
jr $ra
board_one:
.space 3600
board_two:
.spa