# restituir 1 si  esta presente un 1

.data
tree:	.word raiz
raiz:	.word 0, n01, n02
n01:	.word 0, n03, 0
n02:	.word 0, n04, n05
n03:	.word 0, 0, n06
n04:	.word 0, 0, 0
n05:	.word 1, 0, 0
n06:	.word 0, 0, 0

.text
    lw a0, tree
    jal covid
    
    li a7, 1	# llamo para la impresión
    ecall
    
    li a7, 10	# salgo
    ecall

# restituir 1 si infectado
# param: a0 = ind arbol

# si es 0 he terminado  -> no puedo estar infectado covid:	bne a0, zero, ric	# caso base
	jalr zero, ra, 0	# arbol vacio no puede estar infectado

# se es 1 he terminado 
rec:	lw t0, 0(a0)
		beq t0, zero, rec2
		jalr zero, ra, 0
		
# el verdadero caso recursivo 
# raiz sana: debo ver si hay un infectado en  SA
rec2:	addi sp, sp, -8 	# creo dos espacios		sw ra, 0(sp)
		sw a0, 4(sp)
	
		lw a0, 4(a0)	# cargo el ind. nodo sx
		jal covid
		
		# llego a que: es  1 o 0 en a0 segun si es un enfermo  o no
		beq a0, zero, skip
		
		# si es un enfermo entonces puedo irme		lw ra, 0(sp)
		addi sp, sp, 8
		jalr zero, ra, 0

# controlo su derecha si esta  sano
 covid:	lw a0, 4(sp)
		lw a0, 8(a0)
		jal covid
		
		lw ra, 0(sp)
		addi sp, sp, 8	
		jalr zero, ra, 0	
	















