ASM [Assembly] Aiuto con esercizio ricorsivo (Alberi Binari)

Artorias93xinf

Utente Bronze
12 Maggio 2018
2
1
0
21
Salve a tutti e buonasera!
Vi chiedo se c'è qualche modo in cui voi possiate aiutarmi, visto che ho una consegna con scadenza mercoledì e non ho capito benissimo diversi meccanismi...
Ho iniziato un corso di programmazione in MIPS e come esercizio ci è stato assegnato quello di stampare a video il valore della massima lunghezza del percorso che interviene tra i nodi di un albero binario...
Ovviamente deve essere ricorsivo... Qualcuno può aiutarmi?

Questo è un esempio dell'albero con cui sto lavorando per fare una simulazione (sto usando Mars 4.5 come assembler):

Codice:
.data
   tree: .word nodo1
   nodo1: .word 1, nodo2, nodo3
   nodo2: .word 2, nodo4, nodo5
   nodo3: .word 1, 0, 0
   nodo4: .word 1, nodo6, nodo7
   nodo5: .word 1, nodo8, nodo9
   nodo6: .word 1, 0, nodo10
   nodo7: .word 1, 0, 0
   nodo8: .word 1, 0, nodo11
   nodo9: .word 1, 0, 0
   nodo10: .word 1, nodo12, 0
   nodo11: .word 1, nodo13, 0
   nodo12: .word 1, 0, 0
   nodo13: .word 1, 0, nodo14
   nodo14: .word 1, 0, 0

In questo caso, la lunghezza massima del percorso tra due nodi presente è quella tra il nodo 12 e il nodo 14, con un valore pari a 9.
Potete aiutarmi? Per favore, vi imploro :ehm:


Codice:
                              1
                             /\
                            2  3
                           /\
                          4  5
                         /\  /\
                        6  7 8 9
                         \    \
                         10   11
                         /    /
                       12    13
                              \
                              14