# funcion recursiva para calculo de la altura
.data
tree:	.word n01
n01:	.word 8, n02, n03
n02:	.word 5, n04, n05
n03:	.word 13, n06, 0
n04:	.word 3, 0, 0
n05:	.word 4, 0, 0
n06:	.word -7, 0, 0

.text
	lw a0, tree
	jal altura
	li a7, 1
	ecall
	li a7, 10
	ecall
	
altura:
	bne a0, zero, altura_rec	# caso base: arbol vacio
	jalr zero, ra, 0
	
altura_rec:
	# divido la funcion  en dos partes, derecho e izdo
	addi sp, sp, -12
	sw ra, 0(sp)
	sw a0, 4(sp)	# ind. raiz arbol
	lw a0, 4(a0)
	jal altura	# calculo altura subarbol sx
	
	sw a0, 8(sp)	# altura subarbol sx
	
	lw a0, 4(sp)	# calculo altura sa dx
	lw a0, 8(a0)	# tomo el puntero sa dx
	jal altura	# ahora en a0 la altura del sa dx
			
	
	lw t0, 8(sp)	# t0 altura sa sx
	bge a0, t0, skip
	mv a0, t0
skip:	addi a0, a0, 1	# sumo 1 a a0, que es  la altura del arbol
	lw ra, 0(sp)
	addi sp, sp, 12
	jalr zero, ra, 0
