Jump to content

Modifica Stile
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
-->
Photo

Prove d'esame Giugno/Luglio/Settembre 2008


  • Please log in to reply
12 replies to this topic

#1
goodhelp88

goodhelp88

    Advanced Member

  • Utente
  • PipPipPip
  • 308 posts
per favore qualcuno potrebbe dirmi dove trovo lo svolgimento della prova di llap di luglio 2008, idem per quella di giugno e di settembre?


Ci sono 2 cose infinite nell'universo: l'universo e la stupidità umana, e della prima non ne sono sicuro. (Albert Einstein)

#2
aRbok

aRbok

    Advanced Member

  • Utente
  • PipPipPip
  • 1,517 posts
Le prove d'esame dovrebbero essere pubblicate su adinf nella sezione LLAP.
Non ho controllato ma se non ci sono su adinf allora vuol dire che non si possono trovare.

Puoi esercitarti inventandoti i programmi in C e tradurteli da solo in assembler.

Orientativamente ricordo che l'anno scorso a Giugno uscì un merge tra due vettori in un vettore globale, a luglio uscì la malloc ma non ricordo poi le altre cose. :D
Fai ciò che vuoi : sarà tutta la Legge. Amore è la Legge, Amore sotto la Volontà.

#3
goodhelp88

goodhelp88

    Advanced Member

  • Utente
  • PipPipPip
  • 308 posts
raga le tracce le ho trovate, quello che mi serve è lo svolgimento
Ci sono 2 cose infinite nell'universo: l'universo e la stupidità umana, e della prima non ne sono sicuro. (Albert Einstein)

#4
aRbok

aRbok

    Advanced Member

  • Utente
  • PipPipPip
  • 1,517 posts
Se non stava insieme alla traccia vuol dire che non c'è....
Te lo devi fare tu...
Tanto te ne accorgi sei sbagli :D :D :D

O al limite puoi sperare che qualcuno che le abbia già svolte sia disponibile a postarle :D :D :D
Fai ciò che vuoi : sarà tutta la Legge. Amore è la Legge, Amore sotto la Volontà.

#5
Stabber

Stabber

    Advanced Member

  • Utente
  • PipPipPip
  • 170 posts
qualcuno ha idea di come si fa la malloc e come si passa il riferimento al vettore nella traccia di Luglio ?
Il comunismo non è mai andato al potere in un paese che non fosse smembrato dalla guerra o dalla corruzione, o da entrambe. (John Fitzgerald Kennedy)

#6
girolamo

girolamo

    Advanced Member

  • Utente
  • PipPipPip
  • 148 posts
Potete postare la traccia di settembre ke nn riesco a trovarla!
Grazie :ciao:

#7
girolamo

girolamo

    Advanced Member

  • Utente
  • PipPipPip
  • 148 posts
l'ho trovata!!! :D :D :D

#8
WorldChallenge

WorldChallenge

    Advanced Member

  • Utente
  • PipPipPip
  • 75 posts
Qualcuno saprebbe dirmi dove e' sbagliato questo codice? :beg:

Attached Files



#9
HDM

HDM

    Advanced Member

  • Utente
  • PipPipPip
  • 405 posts
Al momento non ho una soluzione pronta di questa traccia, cmq ci ho dato un'occhiata e ho subito notato questo:

All'inizio proprio del programma hai scritto:
.globl main
e poi dopo
main: 

La scrittura corretta è
.globl __start
__start:
dopo questo puoi iniziare a fare il prologo.

Secondo errore che ho notato:
Nel prologo quando vai ad allocare spazio in memoria, hai fatto:
#alloco lo spazio per 15+ fp+ ra valori= 17 . 17 x 4=68
addi $sp, $sp, -68

sw $s0, 64($sp) #$s0--->v1
sw $s1, 60($sp) #$s1--->v2
sw $s2, 56($sp) #$s2--->v3
sw $s3, 52($sp) #$s3--->r1
sw $s4, 48($sp) #$s4--->r2
sw $s5, 44($sp) #$s5--->r3
sw $fp, 40($sp)
addi $fp, $sp, 68

Allora, del primo vettore ti serve solo la testa, visto che dopo lo allochi con la malloc, e quindi sono 4 byte, poi te ne servono 20 per ognuno degli altri due vettori e siamo a 44byte.
Ora devi allocare spazio per r1, r2, r3, i ed fp sono 5 quindi altri 20 byte ed arriviamo a 64byte.
Il codice giusto è questo:
addi $sp, $sp, -64

sw $s0, 64($sp) #$s0--->v1
sw $s1, 60($sp) #$s1--->v2[5]
sw $s2, 40($sp) #$s2--->v3[5]
sw $s3, 20($sp) #$s3--->r1
sw $s4, 16($sp) #$s4--->r2
sw $s5, 12($sp) #$s5--->r3
sw $s6, 8($sp) #$s6--->i
sw $fp, 4($sp)
addi $fp, $sp, 64

Anche se in questo caso la maxdim non va gestita in questo modo, dovrebbe essere una variabile globale, definita tramite
maxdim: .word 5
nell'area dei dati globali.
Immagine inviata

#10
WorldChallenge

WorldChallenge

    Advanced Member

  • Utente
  • PipPipPip
  • 75 posts
Grazie mille HDM!

cmq a me i programmi non partono mettendo
.globl __start
__start:

per questo uso l'altra notazione...

Inoltre in questo caso non c'è bisogno di memorizzare anche il return address ra come viene fatto negli altri esami, tipo la traccia di giugno?

#11
HDM

HDM

    Advanced Member

  • Utente
  • PipPipPip
  • 405 posts

Grazie mille HDM!

cmq a me i programmi non partono mettendo

.globl __start
__start:

per questo uso l'altra notazione...

Inoltre in questo caso non c'è bisogno di memorizzare anche il return address ra come viene fatto negli altri esami, tipo la traccia di giugno?

non partono?? O.o
Ma sei sicuro di aver impostato bene il PcSpim?
c'è un thread che parla di come configura il PcSpim, eccolo: http://www.r0x.it/vi....php?f=13&t=802

Con quella notazione che usi potresti avere qualche problema sui pc del laboratorio, anche sul mio non partiva proprio il tuo programma.

Comunque per quanto riguarda il registro del Return Address, me lo sono dimenticato! XD
è buona norma metterlo sempre nel prologo, inoltre mi sono ricordato che è convenzione allocare spazio prima per fp ed ra e poi per le altre variabili.
Immagine inviata

#12
WorldChallenge

WorldChallenge

    Advanced Member

  • Utente
  • PipPipPip
  • 75 posts
Non lo so, ho provato anche con le impostazioni scritte su r0x ma non va proprio niente...:S
Cmq ti ringrazio HDM, mi hai chiarito moltissimi dubbi! :notworthy:

#13
Stabber

Stabber

    Advanced Member

  • Utente
  • PipPipPip
  • 170 posts
Ecco la traccia con la soluzione svolta da me del compito del 11-09-08

Attached Files


Il comunismo non è mai andato al potere in un paese che non fosse smembrato dalla guerra o dalla corruzione, o da entrambe. (John Fitzgerald Kennedy)




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users