PDA

Visualizza la versione completa : [Assembly mips] ricorsione


Secchiello
12-03-2009, 11:08
Ciao avrei una piccola domanda da fare...si potrebbe richiamare in una funzione ricorsiva un'altra funzione ricorsiva ?
ovvero io ho creato una funzione potenza che mi calcola : 2 ^ x
ora volevo creare una funzione ricorsiva che mi sommi : 2^x+2^(x-1)+....+2^(1)
volevo appunto sfruttare la mia funzione ricorsiva per la potenza richiamandola all'interno di quest'altra funzione (naturalmente la funzione ricorsiva potenza l'ho creata anche perche' la vado a richiamare per un altro valore) in pratica dovrei stampare un valore che e' la potenza normale e un valore che e' la somma di potenze.
vi posto il codice appena mi rispondera' qualcuno ciao :D

Secchiello
12-03-2009, 12:24
piccola precisazionione...
ho creato la procedura potenza ma ora sto' lavorando sull'altra la mia idea era quella di caricare tutto sullo stack

cosi' facendo : sottraggo allo stack uno spazio di 8 per poter avere uno spazio dove caricare due variabili che mi interessa tenerle fino alla fine
-poi vado nella funzione ricorsiva potenza a chiedere ancora altro spazio per salvare l'indirizzo di ritorno $ra e per -salvare la variabile da decrementare per fare in modo che la ricorsione funzioni una volta, la ricorsione, finita elimino lo spazio da me' creato per lo stack e torno al main
dal main richiamo la seconda funzione che secondo la mia idea dovrebbe allocare lo spazio sullo stack per la sua variabile da decrementare e per il suo $ra e dovrebbe richiamare la funzione potenza ancora una volta (o potenza 2 visto che potenza comunque e' settata per occupare lo stesso spazio di somma quindi creerei un altra funzione potenza che sia la copia modificata della funzione potenza usata all'inizio)

L'idea dal punto di vista grafico dello stack dovrebbe essere questa :

___________________________16__20__24
POTENZA2:_________________| | | | | | | |
__________________8___12__16
SOMMA:__________| | | | | | | | |
________0___4____8
MAIN :_| | | | | | | | |
POTENZA :_______| | | | | | | | |
_________________8___12___16

Secchiello
13-03-2009, 08:33
non speravo in Cotante risposte

Secchiello
14-03-2009, 11:57
up ?

Loading