Vai al contenuto

Primario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Secondario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Sfondo: Blank Waves Squares Notes Sharp Wood Rockface Leather Honey Vertical Triangles
Corsi di Laurea










ROX @ Unisa - Forum degli studenti di Ingegneria utilizza i cookie. Se prosegui la navigazione accetti il loro uso.    Accetto l'uso dei cookie
-->
Foto

ERRORE TRACCIA ESAME GIUGNO?!?


  • Effettua l'accesso per rispondere
Questa discussione ha avuto 10 risposta/e

#1
Adolf

Adolf

    Advanced Member

  • Utente
  • StellaStellaStella
  • 41 Messaggi:
Salve ragà ho provato a svolgere la traccia di giugno, quella con il merge.. ma non mi funziona e non riesco a capire il mio errore.. c'è qlkn ke lo sappia vedere? gracias ;)

File allegato




l'hacking è come il sesso, si entra e si esce e si spera sempre di non aver lasciato tracce.. ;)

#2
HDM

HDM

    Advanced Member

  • Utente
  • StellaStellaStella
  • 405 Messaggi:
Ho dato una rapida occhiata a quello che hai scritto ed ho notato un paio di cose che non vanno.
Ora sono fuori, appena torno a casa cerco di postarti la traccia corretta, così ti rendi conto degli errori che ci sono :P
Immagine inviata

#3
Adolf

Adolf

    Advanced Member

  • Utente
  • StellaStellaStella
  • 41 Messaggi:
ma delle tracce gia fatte ke funzionano gia le ho .. ma io volevo capire cosa ho sbagliato nella mia ..
l'hacking è come il sesso, si entra e si esce e si spera sempre di non aver lasciato tracce.. ;)

#4
HDM

HDM

    Advanced Member

  • Utente
  • StellaStellaStella
  • 405 Messaggi:

ma delle tracce gia fatte ke funzionano gia le ho .. ma io volevo capire cosa ho sbagliato nella mia ..

ti posterò gli errori allora :P

1)Nel prologo non è necessario salvare i parametri in memoria, puoi benissimo usare dei registri semplificandoti la vita. Inoltre nel main non ci sono parametri in entrata percui non vedo l'utilità di salvare dei registri VUOTI in memoria.
2)Per quello che ho detto sopra, l' "allocazione" degli spazi sullo stack cambia e diventa così:
    addi sp,sp,-68
sw fp,68(sp)
sw ra,64(sp)
sw s0,60(sp) #variabile i
sw s1,56(sp) #variabile dim_v_globl
sw s2,52(sp) #variabile dim_v1_loc
sw s3,48(sp) #variabile dim_v2_loc
sw s4,44(sp) #spazio riservato per il primo vettore, ovvero 6*4byte=24byte
sw s5,20(sp) #spazio riservato per il secondo vettore, ovvero 5*4byte=20byte
addi fp,sp,68 #si fa puntare fp alla base dello stack, come al solito
Non capisco perchè hai allocato 76 byte e non li hai usati tutti.. inoltre dopo aver allocato questi, ne allochi prima 44 e poi altri 24, perché??

P.s:Ho levato tutto i "dollari" dai registri perchè lo script di matematica non collabora. o_O
Immagine inviata

#5
dylzen

dylzen

    Advanced Member

  • Utente
  • StellaStellaStella
  • 185 Messaggi:
mmh, scusatemi ma nn si dovrebbe allocare spazio anke per i registri a0-a3 x il passaggio dei parametri alla merge e x la printf?

P.S scusate se ho detto una vaccata :help:
K6cSUfo.png ldTC0c4.png F3RltDf.png ysAWECd.png HXDuJxQ.png hrrH0NX.png gcQdz0o.png VQDZBzt.png wmDuXSk.png kMi7x2A.png 0khmZP7.png qnzN56a.png

#6
HDM

HDM

    Advanced Member

  • Utente
  • StellaStellaStella
  • 405 Messaggi:

mmh, scusatemi ma nn si dovrebbe allocare spazio anke per i registri a0-a3 x il passaggio dei parametri alla merge e x la printf?

P.S scusate se ho detto una vaccata :help:


no non si deve allocare spazio, perchè tu i registri a0-a3 nel main non li usi, se non per caricarci dentro i parametri.
è come mettere in cantina uno scatolone vuoto. ^_^
Immagine inviata

#7
dylzen

dylzen

    Advanced Member

  • Utente
  • StellaStellaStella
  • 185 Messaggi:

mmh, scusatemi ma nn si dovrebbe allocare spazio anke per i registri a0-a3 x il passaggio dei parametri alla merge e x la printf?

P.S scusate se ho detto una vaccata :help:


no non si deve allocare spazio, perchè tu i registri a0-a3 nel main non li usi, se non per caricarci dentro i parametri.
è come mettere in cantina uno scatolone vuoto. ^_^

:notworthy:
K6cSUfo.png ldTC0c4.png F3RltDf.png ysAWECd.png HXDuJxQ.png hrrH0NX.png gcQdz0o.png VQDZBzt.png wmDuXSk.png kMi7x2A.png 0khmZP7.png qnzN56a.png

#8
Adolf

Adolf

    Advanced Member

  • Utente
  • StellaStellaStella
  • 41 Messaggi:
ho corretto gli errori ke dicevi tu .. ma neanke va.. quando va a caricare il primo elemento del primo vettore, carica l'indirizzo e non il valore.. :|
l'hacking è come il sesso, si entra e si esce e si spera sempre di non aver lasciato tracce.. ;)

#9
Adolf

Adolf

    Advanced Member

  • Utente
  • StellaStellaStella
  • 41 Messaggi:
ecco come ho corretto..

File allegato


l'hacking è come il sesso, si entra e si esce e si spera sempre di non aver lasciato tracce.. ;)

#10
dylzen

dylzen

    Advanced Member

  • Utente
  • StellaStellaStella
  • 185 Messaggi:
mmh, secondo me nn puoi fare la store word in quel modo, dovresti prima caricare l'indirizzo del vettore nel registro s2

la s2, -44(fp)

e poi fai le varie sw nelle varie locazioni di s5, nn vorrei aver detto una baggianata ma a me kosì funziona tutto.. prova e facci sapere ^_^
K6cSUfo.png ldTC0c4.png F3RltDf.png ysAWECd.png HXDuJxQ.png hrrH0NX.png gcQdz0o.png VQDZBzt.png wmDuXSk.png kMi7x2A.png 0khmZP7.png qnzN56a.png

#11
HDM

HDM

    Advanced Member

  • Utente
  • StellaStellaStella
  • 405 Messaggi:
non funziona perchè alla merge hai passato s1 ed s2 che sono vuoti.. se non ci metti l'indirizzo della base del vettore dentro è normale che non funziona prrr
La stessa cosa quando carichi i valori.
Per farlo funzionare basta inserire una semplice addi prima del caricamento dei vettori, ammesso che non ci siano altri errori.
addi s1,sp,20
addi s2,sp,44
Con queste due istruzioni metti l'indirizzo della base dei due vettori, uno in s1 e l'altro in s2.
Immagine inviata




Leggono questa discussione 0 utenti

0 utenti, 0 ospiti, 0 utenti anonimi