.data
.align      4
sfile:	.asciiz "aaaaaaaaaaaaaaaaaaaaaaaaa"
pfile: .asciiz "aaaaaaaaaaaaaaaaaaaaaaaaa"
pin: .asciiz "\nEnter the problem file name : "
sin: .asciiz "\nEnter the solution file name: "
errpo: .asciiz "\n Problem File Open (Read) Failed"
errso: .asciiz "\n Solution File Open (Read) Failed"
newline: .asciiz "\n"
readbuffer: .byte 2,2
.byte 2

problem:	.word 0, 0, 0, 0, 0
		.word 0, 0, 0, 0, 0
		.word 0, 0, 0, 0, 0
		.word 0, 0, 0, 0, 0
		.word 0, 0, 0, 0, 0

solution:	.word 0, 0, 0, 0, 0
		.word 0, 0, 0, 0, 0
		.word 0, 0, 0, 0, 0
		.word 0, 0, 0, 0, 0
		.word 0, 0, 0, 0, 0

.text

.globl main

main:
#Code - Reads problem and solution from input arguments.
	move $a0, $a1
	add $t1, $0, $a0	


	li $v0, 13
	lw $a0, 0($a0)
	li $a1, 0
	li $a2, 0
	syscall

	move $t2, $v0

	bgez $t2, rfile2

	li $v0 , 4
	la $a0, errpo
	syscall
	
	li $v0, 17
	li $a0, 2
	syscall

rfile2:

	li $v0, 13
	lw $a0, 4($t1) 
	li $a1, 0
	li $a2, 0
	syscall

	move $t3, $v0

	bgez $t3, rvals

	li $v0 , 4
	la $a0, errso
	syscall
	
	li $v0, 17
	li $a0, 2
	syscall
	
rvals:	
	
	add $t5, $0, $0
	addi $t6, $0, 25
	addi $t7, $0, 5
readloop:
	li $v0, 14
	move $a0, $t2
	la $a1, readbuffer 
	li $a2, 2
	syscall

	lb $t9, readbuffer
	subi $t9, $t9, 48
	la $a0, problem
	sll $t8, $t5, 2
	add $a0, $a0, $t8
	sw $t9, 0($a0)
	
	li $v0, 14
	move $a0, $t3
	la $a1, readbuffer
	li $a2, 2
	syscall	

	lb $t9, readbuffer
	subi $t9, $t9, 48
	la $a0, solution
	sll $t8, $t5, 2
	add $a0, $t8, $a0
	sw $t9, 0($a0)
	
	addi $t5, $t5, 1
nprnewline:
	
	bne $t5, $t6, readloop

	li $v0,16
	move $a0, $t2
	syscall

	move $a0, $t3
	syscall

#End of File I/O code



	la $a0, problem
	la $a1, solution
	jal checkBoard


#Close Files and Exit
	
	move $t1, $v0
	
	li $v0, 1
	move $a0, $t1
	syscall

	li $v0, 17
	li $a0, 2
	syscall

# End Main	
	

checkBoard:
#ENTER YOUR CODE HERE - RETURN VALUE SHOULD BE IN $v0

	jr $ra


