; Filename:     hw3p6_main.s 
; Author:       ECE 353 staff 
; Description:  hw3 problem 6 sample driver code

	AREA    FLASH, CODE, READONLY
	ARM

	INCLUDE ADuC7026.inc			;MMR definitions
	EXPORT  __main
	IMPORT	traverse

; main program start
__main

main_loop
	LDR		R0, =(output) 		; initialize output data area 
	MOV		R1, #-1
	STR		R1, [R0], #4
	STR		R1, [R0], #4
	STR		R1, [R0], #4
	STR		R1, [R0], #4

	LDR		R10, =(output) 		; output data area address
	ADR		R0, node0	 		; root node address
	PUSH	{R0}
	BL		traverse
	ADD		SP, SP, #4			; clean up stack

	B		main_loop

; sample instance of binary tree
				;node	left child	right child
node0 	DCD 	0,		node5, 		node4
node1 	DCD		1,		node2,		-1
node2 	DCD		2,		-1,			-1
node3 	DCD		3,		node7,		-1
node4 	DCD		4,		-1,			node1	
node5 	DCD		5,		node6,		node3
node6 	DCD		6,		-1,			-1
node7 	DCD		7,		-1,			-1

	AREA    SRAM, DATA, READWRITE

output	SPACE	16		 		; node numbers written here

	END
