THMMY.gr

Μαθήματα Βασικού Κύκλου => Αρχιτεκτονική Υπολογιστών => Topic started by: vasilis94 on April 11, 2014, 00:58:41 am



Title: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: vasilis94 on April 11, 2014, 00:58:41 am
Η πολυαναμενόμενη 1η εργασία στο ethmmy:

1η ΕΡΓΑΣΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ

Περιγραφή
Γράψτε πρόγραμμα σε γλώσσα Assembly του MIPS που να εκτελεί τις ακόλουθες λειτουργίες. Όταν πατηθεί το πλήκτρο του πληκτρολογίου «Κ» να αντιγράφει την τρέχουσα κατάσταση κάποιων διακοπτών και να ανάβει LEDs που να δείχνουν τη
κατάσταση κάθε διακόπτη. Τρέξτε και αποσφαλματώστε το πρόγραμμα χρησιμοποιώντας τον προσομοιωτή QtSPIM. Θεωρείστε ότι η κατάσταση κάθε διακόπτη καταγράφεται στο λιγότερο σημαντικό ψηφίο ενός καταχωρητή στη μνήμη των στατικών δεδομένων που αρχίζει από τη διεύθυνση 0x10008000. Το ίδιο ισχύει και για την κατάσταση των LEDs. Το πρόγραμμα σας θα πρέπει να αρχίζει εκτυπώνοντας στην κονσόλα τις ακόλουθες ερωτήσεις προς το χρήστη οι απαντήσεις στις οποίες θα αρχικοποιούν τις τιμές των διακοπτών.
 
 Please insert the state of the three switches
 Switch 1: < ο χρήστης πρέπει να μπορεί να εισάγει τη τιμή 0 ή 1>
 Switch 2: < ο χρήστης πρέπει να μπορεί να εισάγει τη τιμή 0 ή 1>
 Switch 3: < ο χρήστης πρέπει να μπορεί να εισάγει τη τιμή 0 ή 1>
 Run the program: < με το πάτημα του γράμματος Κ στο πληκτρολόγιο θα πρέπει να αρχίζει
 η εκτέλεση του προγράμματος>
 
Η εκτέλεση του προγράμματος πρέπει να καταλήγει στην απάντηση LED1 is ON(OFF), LED2 is ON(OFF), LED3 is ON(OFF)


Στα διαδικαστικά είχε αναφέρει ότι:
i) Θα υπάρχουν 2 εργασίες, 1 μέχρι τις 10/5 περίπου και 1 μέχρι το τέλος του Μάη.
ii) Θα έχουμε 10% οι εργασίες, γύρω στο 20-30% (δε θυμάμαι) εξέταση πάνω στην ύλη που αφορά τις εργασίες και τα υπόλοιπα θα αφορούν το κομμάτι του Πέτρου και θα είναι στις τέλικές. Σε ό,τι αφορά το 20-30% η εξέταση θα ναι είτε προφορικά πάνω στην εργασία μας, είτε αν δεν υπάρχει προσωπικό ως μια ομάδα θεμάτων στις τελικές εξετάσεις που θα αφορούν ερωτήσεις στον MIPS και τον προσωμοιωτή.
iii) Εργασίες που δε βγάζουν αποτελέσματα δε θα γίνουν δεκτές/θα παίρνουν 0. (εκτός αν είναι κάποια σύντομη και προφανής χαζομάρα που λύνεται)
iv) Ως βοηθητικό υλικό είναι οι ασκήσεις που έχει ανεβασμένες.
Καλό κάψιμο  :P

edit : προσθήκη ετικέτας


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: reservoir dog on May 01, 2014, 15:02:56 pm
Τι είναι αυτά ρε παιδιά; Καμιά συμβουλή για τους παλιότερους γιατί μου φαίνεται οτι διαφέρει πολύ η εργασία από τις παλιότερες.


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: elefmylo on May 02, 2014, 22:26:33 pm
Quote
καταχωρητή στη μνήμη των στατικών δεδομένων που
αρχίζει από τη διεύθυνση 0x10008000

εννοεί τον $sp-την αρχή της στοίβας μας...?


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: DarkPassenger on May 03, 2014, 13:04:35 pm
Quote
καταχωρητή στη μνήμη των στατικών δεδομένων που
αρχίζει από τη διεύθυνση 0x10008000

εννοεί τον $sp-την αρχή της στοίβας μας...?

εγω παντως δεν το εκανα με στοιβα, και αυτο το δεδομενο που δινει το χρησιμοποιησα στο .data 0x10008000 για να δηλωσω οτι η καταχωρηση ξεκιναει απο εκει. τωρα αμα ειναι σωστο, δε ξερω σιγουρα..


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: elefmylo on May 03, 2014, 14:07:36 pm
Quote
καταχωρητή στη μνήμη των στατικών δεδομένων που
αρχίζει από τη διεύθυνση 0x10008000

εννοεί τον $sp-την αρχή της στοίβας μας...?

εγω παντως δεν το εκανα με στοιβα, και αυτο το δεδομενο που δινει το χρησιμοποιησα στο .data 0x10008000 για να δηλωσω οτι η καταχωρηση ξεκιναει απο εκει. τωρα αμα ειναι σωστο, δε ξερω σιγουρα..

μαλλον έισαι σωστός γιατί όταν βάζω .data 0x10008000, αν πας στο data segment ξεκινάει από τη διεύθυνση 0x10008000...
αν ξέρει κανείς άλλος ας απαντήσει σίγουρα...


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: George_RT on May 03, 2014, 18:22:19 pm
Ενω γενικά το μάθημα το παρακολουθώ δεν καταλαβαίνω τίποτα για το πω θα γίνει μήπως μπορεί καποιος να δωσει ενα help απο που να ξεκινήσουμε ;


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: Nerevar on May 03, 2014, 18:45:19 pm
Ενω γενικά το μάθημα το παρακολουθώ δεν καταλαβαίνω τίποτα για το πω θα γίνει μήπως μπορεί καποιος να δωσει ενα help απο που να ξεκινήσουμε ;

Ενα καλό πέρασμα του mips instruction set σε ασσεμπλη...


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: gt on May 04, 2014, 15:44:00 pm
Quote
καταχωρητή στη μνήμη των στατικών δεδομένων που
αρχίζει από τη διεύθυνση 0x10008000

εννοεί τον $sp-την αρχή της στοίβας μας...?

Εννοει τον $gp, o oποιος εχει αποθηκευμενη by default την διεθυνση 0x10008000...Και εφοσον λεει "καταχωρητη στην μνημη" το ποιο σωστο πιστευω ειναι να το κανεις με τον $gp και οχι με .data 0x10008000...απλα θα αποθηκευεις τις τιμς που παιρνεις  στις θεσεις 0($gp),1($gp) κτλ...και αυτο μετα θα φαινεται και στο data segment απο 0x10008000


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: gt on May 04, 2014, 15:47:51 pm
Θελω να μου πειτε αν καταλαβα καλα την λογικη του προγραμματος:

Ο χρηστης δινει 0 ή 1 στα 3 switches και οταν πατησει το πληκτρο K, τοτε αναλογα τι τιμες εχει βαλει, θα βγαζει το μηνυμα Led1 is OFF(ή ON), Led2 is OFF(ή ΟΝ) κτλ...

Am I right?


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: DarkPassenger on May 04, 2014, 15:53:44 pm
Θελω να μου πειτε αν καταλαβα καλα την λογικη του προγραμματος:

Ο χρηστης δινει 0 ή 1 στα 3 switches και οταν πατησει το πληκτρο K, τοτε αναλογα τι τιμες εχει βαλει, θα βγαζει το μηνυμα Led1 is OFF(ή ON), Led2 is OFF(ή ΟΝ) κτλ...

Am I right?
νμζω ναι.. και εγω αυτο καταλαβα κ εκανα...


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: Πάτρικ Αστέρης on May 04, 2014, 22:01:28 pm
Βασικα απο οτι καταλαβα εγω, θα λεει ξερω γω πατα το k για να ξεκινησει και αν παταει λαθος θα λεει λαθος,ξαναπατα
μετα θα ξεκιναει ουσιαστικα το προγραμμα  :-\


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: talkshowhost on May 04, 2014, 23:18:13 pm
Ποια είναι η ύλη από το βιβλίο του Patterson για την πρώτη εργασία?


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: vasilis94 on May 05, 2014, 00:27:55 am
Βασικα απο οτι καταλαβα εγω, θα λεει ξερω γω πατα το k για να ξεκινησει και αν παταει λαθος θα λεει λαθος,ξαναπατα
μετα θα ξεκιναει ουσιαστικα το προγραμμα  :-\

Η αλήθεια είναι ότι στο "με το πάτημα του γράμματος Κ στο πληκτρολόγιο θα πρέπει να αρχίζει η εκτέλεση του προγράμματος" το μπερδεύει το πράμα, αλλά και λογικό είναι και το λέει στην αρχή ότι το Κ είναι μόνο για να γίνει η λειτουργία της αντιγραφής και η είσοδος θα γίνεται σταδιακά στην αρχή.


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: gt on May 05, 2014, 11:51:49 am
Βασικα απο οτι καταλαβα εγω, θα λεει ξερω γω πατα το k για να ξεκινησει και αν παταει λαθος θα λεει λαθος,ξαναπατα
μετα θα ξεκιναει ουσιαστικα το προγραμμα  :-\

Η αλήθεια είναι ότι στο "με το πάτημα του γράμματος Κ στο πληκτρολόγιο θα πρέπει να αρχίζει η εκτέλεση του προγράμματος" το μπερδεύει το πράμα, αλλά και λογικό είναι και το λέει στην αρχή ότι το Κ είναι μόνο για να γίνει η λειτουργία της αντιγραφής και η είσοδος θα γίνεται σταδιακά στην αρχή.

Κ εγω ετσι το καταλαβα....απλα το εκανα οταν πατας αλλο πληκτρο να μην κανει τιποτα και να μην βγαζει μηνυμα...απλα να περιμενει μονο το Κ...


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: olgatsim on May 06, 2014, 20:48:55 pm
οκ όλα τα υπόλοιπα... αλλά με ποιά εντολή περνάμε τις καταστάσεις που πήραμε για τους διακόπτες, στον gp ; Έχω σκαλώσει... :/


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: κύριος Φασόλης on May 07, 2014, 19:52:35 pm
ερωτηση 1) δηλαδη ρε παιδια αν καταλαβα καλα η εργασια με λιγα λογια μας λεει το εξης :

" Θα δωσει ο χρηστης για καθεναν απο τους 3 διακοπτες μια τιμη (0 η 1) θα πατησει αποκλειστικα και μονο 'κ' για να ξεκινησει το προγραμμα, και αφου πατησει λοιπον το 'κ' (και ξεκινησει το προγραμμα) στο τελος θα εμφανιζονται οι ενδειξεις LED1/2/3  is ΟΝ( η OFF) αναλογα με την καθε τιμη που εβαλε ο χρηστης."  δηλαδη δεν παιζει λουπα, σωστα?

ερωτηση 2) μπορει να εξηγησει κανεις αυτο που λεει με το λιγοτερο σημαντικο bit ?
 
Θεωρείστε ότι η κατάσταση κάθε διακόπτη καταγράφεται στο λιγότερο σημαντικό ψηφίο ενός καταχωρητή στη μνήμη των στατικών δεδομένων που αρχίζει από τη διεύθυνση 0x10008000. Το ίδιο ισχύει και για την κατάσταση των LEDs.


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: vasilis94 on May 07, 2014, 21:01:01 pm
ερωτηση 1) δηλαδη ρε παιδια αν καταλαβα καλα η εργασια με λιγα λογια μας λεει το εξης :

" Θα δωσει ο χρηστης για καθεναν απο τους 3 διακοπτες μια τιμη (0 η 1) θα πατησει αποκλειστικα και μονο 'κ' για να ξεκινησει το προγραμμα, και αφου πατησει λοιπον το 'κ' (και ξεκινησει το προγραμμα) στο τελος θα εμφανιζονται οι ενδειξεις LED1/2/3  is ΟΝ( η OFF) αναλογα με την καθε τιμη που εβαλε ο χρηστης."  δηλαδη δεν παιζει λουπα, σωστα?

ερωτηση 2) μπορει να εξηγησει κανεις αυτο που λεει με το λιγοτερο σημαντικο bit ?
 
Θεωρείστε ότι η κατάσταση κάθε διακόπτη καταγράφεται στο λιγότερο σημαντικό ψηφίο ενός καταχωρητή στη μνήμη των στατικών δεδομένων που αρχίζει από τη διεύθυνση 0x10008000. Το ίδιο ισχύει και για την κατάσταση των LEDs.

1) Σωστά, η μόνη λούπα που έβαλα ήταν για να δώσει κάποια στιγμή Κ, αν και δεν είναι απαραίτητη αφού δε διευκρινίζεται.
2) Εννοεί να έχεις 000...01 ή 000..00 (32 bit=1 καταχωρητής) ανάλογα με το 0 ή 1 που θα δώσεις στο πληκτρολόγιο. Νομίζω δε θέλει κάτι παραπάνω από sw/lw


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: κύριος Φασόλης on May 07, 2014, 22:11:22 pm
καταρχας σε ευχαριστω πολυ για την αμεση απαντηση  :)

οσον αφορα το 1) νομιζω οτι θελει κι αλλη μια λουπα για να τσεκαρει αν ο χρηστης δινει 0 η 1

και τωρα για το 2) δηλαδη εγω απλα θα πρεπει να βαλω μια στοιβα η οποια να ξεκιναει απο τη διευθυνση που δινει η εκφωνηση και απλα να αποθηκευω και να φορτωνω τις αντιστοιχες τιμες στους temp καταχωρητες μου?


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: gt on May 08, 2014, 13:49:41 pm
καταρχας σε ευχαριστω πολυ για την αμεση απαντηση  :)

οσον αφορα το 1) νομιζω οτι θελει κι αλλη μια λουπα για να τσεκαρει αν ο χρηστης δινει 0 η 1

και τωρα για το 2) δηλαδη εγω απλα θα πρεπει να βαλω μια στοιβα η οποια να ξεκιναει απο τη διευθυνση που δινει η εκφωνηση και απλα να αποθηκευω και να φορτωνω τις αντιστοιχες τιμες στους temp καταχωρητες μου?

1) Mπορεις να το κανεις απλα, χωρις λουπα...Δηλαδη 3 ελεγχους...
2) Eπειδη μας ενδιαφερει το λιγοτερο σημαντικο ψηφιο μπορεις να αποθηκευεις σε 1 byte...Μαλλον θελει να χρησιμοποιησεις τον $gp και να αποθηκευεις σχετικα δηλαδη 0($gp),1($gp)


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: κύριος Φασόλης on May 08, 2014, 17:57:33 pm
καταρχας σε ευχαριστω πολυ για την αμεση απαντηση  :)

οσον αφορα το 1) νομιζω οτι θελει κι αλλη μια λουπα για να τσεκαρει αν ο χρηστης δινει 0 η 1

και τωρα για το 2) δηλαδη εγω απλα θα πρεπει να βαλω μια στοιβα η οποια να ξεκιναει απο τη διευθυνση που δινει η εκφωνηση και απλα να αποθηκευω και να φορτωνω τις αντιστοιχες τιμες στους temp καταχωρητες μου?

1) Mπορεις να το κανεις απλα, χωρις λουπα...Δηλαδη 3 ελεγχους...
2) Eπειδη μας ενδιαφερει το λιγοτερο σημαντικο ψηφιο μπορεις να αποθηκευεις σε 1 byte...Μαλλον θελει να χρησιμοποιησεις τον $gp και να αποθηκευεις σχετικα δηλαδη 0($gp),1($gp)

σε ευχαριστω πολυ καταλαβα τι εννοεις :)


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: gmtms on May 09, 2014, 15:41:05 pm
Αυτή η στοίβα επί του gp πρέπει να έχει οριστεί εκ των προτέρων;
Και πώς θα συγκρίνουμε μεμονωμένα bytes με το 1 ή 0 για να ορίσουμε την εκτύπωση του ΟΝ ή OFF;


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: gt on May 10, 2014, 16:06:48 pm
1.Ο $gp εχει by default την τιμη 0x10008000.Επομενως μπορεις να την χρησιμοποιησεις σαν τιμη διεθυνσης και να αποθηκευσεις εκει τις τιμες που θελεις σχετικα, δηλαδη 0($gp),1($gp) ktl...
2.Μπορεις να κανεις μια απλη συγκριση με τον αριθμο 1 ή τον αριθμο 0(που ειναι αντιστοιχα 00000001 και 00000000) ή να κανεις μια andi με τον αριθμο 1, οπου ετσι το αποτελεσμα το αποτελεσμα σου ουσιαστικα κρινεται απο το τελευταιο bit του αριθμου που συγκρινεις με το ν αριθμο 1(δηλαδη αν το τελευταιο bit του αριθμου που συγκρινεις με τον αριθμο 1 ειναι 1,τοτε το αποτελεσμα σου ειναι 1,αλλιως 0,και με ενα branch στελνεις αντιστοιχα στο ON ή στο OFF)


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: απλυτος on May 10, 2014, 16:11:08 pm
καταρχας σε ευχαριστω πολυ για την αμεση απαντηση  :)

οσον αφορα το 1) νομιζω οτι θελει κι αλλη μια λουπα για να τσεκαρει αν ο χρηστης δινει 0 η 1

και τωρα για το 2) δηλαδη εγω απλα θα πρεπει να βαλω μια στοιβα η οποια να ξεκιναει απο τη διευθυνση που δινει η εκφωνηση και απλα να αποθηκευω και να φορτωνω τις αντιστοιχες τιμες στους temp καταχωρητες μου?

1) Mπορεις να το κανεις απλα, χωρις λουπα...Δηλαδη 3 ελεγχους...
2) Eπειδη μας ενδιαφερει το λιγοτερο σημαντικο ψηφιο μπορεις να αποθηκευεις σε 1 byte...Μαλλον θελει να χρησιμοποιησεις τον $gp και να αποθηκευεις σχετικα δηλαδη 0($gp),1($gp)

αυτή είναι η πιο απλή προσέγγιση


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: Mumm-ra ο παντοντινός on May 10, 2014, 21:19:31 pm
Την ψευδοεντολή li (load immediately) μπορούμε να την χρησιμοποιήσουμε?


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: Ragnar Lothbrok on May 10, 2014, 21:24:24 pm
Επειδή λόγω εξωτερικών δυσκολιών, πρέπει τώρα να καταπιαστώ με την εργασία, μπορεί κάποιος να μου πει τι πρέπει να γνωρίζω από θεωρία για να βγάλω την εργασία; κεφάλαιο 2 και παράρτημα Β φτάνουν;


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: DarkPassenger on May 11, 2014, 00:19:44 am
Την ψευδοεντολή li (load immediately) μπορούμε να την χρησιμοποιήσουμε?
ναι


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: iliachry on May 11, 2014, 02:46:27 am
1)γενικά μπορούν να χρησιμοποιηθούν όλες οι ψευδοεντολές!

2)διάβασε κεφάλαια 2,3 και παράρτημα Β και θα είσαι κομπλέ!


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: gt on May 11, 2014, 12:59:57 pm
Την ψευδοεντολή li (load immediately) μπορούμε να την χρησιμοποιήσουμε?

Βεβαιως...


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: Ragnar Lothbrok on May 11, 2014, 17:29:33 pm
2)διάβασε κεφάλαια 2,3 και παράρτημα Β και θα είσαι κομπλέ!

Thanks :D


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: giannhs12 on May 11, 2014, 19:55:09 pm
στη εκφωνηση της εργασιας λεει

"Θεωρείστε ότι η κατάσταση κάθε διακόπτη καταγράφεται στο λιγότερο σημαντικό ψηφίο ενός καταχωρητή στη μνήμη των στατικών δεδομένων που αρχίζει από τη διεύθυνση 0x10008000."

αρα εγω πρεπει να διαβαζω το 0 ή το 1 για καθε διακοπτη και να σωζω την κατασταση του στο λιγοτερο σημαντικο ψηφιο ενος καταχωρητη.
αρα πρεπει να χρησιμοποιησω 3 καταχωρητες απο το χωρο των στατικων δεδομενων,εναν για καθε διακοπτη ετσι δεν ειναι???
καθε καταχωρητης θα εχει το 000....00000 (και τα 32 του bits 0) ή 000...001 (το τελευταιο του bit 1) ???

και για να αναφερομαι σε καθε εναν απο τους 3 καταχωρητες θα χρησιμοποιω τις διευθυνσιες
0($gp)     ??????????????
4($gp)      ????????????
8($gp)       ????????????

γιατι καπου πιο πανω στ posts διαβασα αυτο
¨Ο $gp εχει by default την τιμη 0x10008000.Επομενως μπορεις να την χρησιμοποιησεις σαν τιμη διεθυνσης και να αποθηκευσεις εκει τις τιμες που θελεις σχετικα, δηλαδη 0($gp),1($gp) ktl..¨  ????
γιατι εδω φιλε λες να χρησιμοποιησω τις διευθυνσεις 0($gp) και 1($gp) ???
 :) :) :)


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: DarkPassenger on May 11, 2014, 21:40:04 pm
στη εκφωνηση της εργασιας λεει

"Θεωρείστε ότι η κατάσταση κάθε διακόπτη καταγράφεται στο λιγότερο σημαντικό ψηφίο ενός καταχωρητή στη μνήμη των στατικών δεδομένων που αρχίζει από τη διεύθυνση 0x10008000."

αρα εγω πρεπει να διαβαζω το 0 ή το 1 για καθε διακοπτη και να σωζω την κατασταση του στο λιγοτερο σημαντικο ψηφιο ενος καταχωρητη.
αρα πρεπει να χρησιμοποιησω 3 καταχωρητες απο το χωρο των στατικων δεδομενων,εναν για καθε διακοπτη ετσι δεν ειναι???
καθε καταχωρητης θα εχει το 000....00000 (και τα 32 του bits 0) ή 000...001 (το τελευταιο του bit 1) ???

και για να αναφερομαι σε καθε εναν απο τους 3 καταχωρητες θα χρησιμοποιω τις διευθυνσιες
0($gp)     ??????????????
4($gp)      ????????????
8($gp)       ????????????

γιατι καπου πιο πανω στ posts διαβασα αυτο
¨Ο $gp εχει by default την τιμη 0x10008000.Επομενως μπορεις να την χρησιμοποιησεις σαν τιμη διεθυνσης και να αποθηκευσεις εκει τις τιμες που θελεις σχετικα, δηλαδη 0($gp),1($gp) ktl..¨  ????
γιατι εδω φιλε λες να χρησιμοποιησω τις διευθυνσεις 0($gp) και 1($gp) ???
 :) :) :)


οπως τα λες ειναι.. 0,4,8...


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: gt on May 12, 2014, 11:05:12 am
στη εκφωνηση της εργασιας λεει

"Θεωρείστε ότι η κατάσταση κάθε διακόπτη καταγράφεται στο λιγότερο σημαντικό ψηφίο ενός καταχωρητή στη μνήμη των στατικών δεδομένων που αρχίζει από τη διεύθυνση 0x10008000."

αρα εγω πρεπει να διαβαζω το 0 ή το 1 για καθε διακοπτη και να σωζω την κατασταση του στο λιγοτερο σημαντικο ψηφιο ενος καταχωρητη.
αρα πρεπει να χρησιμοποιησω 3 καταχωρητες απο το χωρο των στατικων δεδομενων,εναν για καθε διακοπτη ετσι δεν ειναι???
καθε καταχωρητης θα εχει το 000....00000 (και τα 32 του bits 0) ή 000...001 (το τελευταιο του bit 1) ???

και για να αναφερομαι σε καθε εναν απο τους 3 καταχωρητες θα χρησιμοποιω τις διευθυνσιες
0($gp)     ??????????????
4($gp)      ????????????
8($gp)       ????????????

γιατι καπου πιο πανω στ posts διαβασα αυτο
¨Ο $gp εχει by default την τιμη 0x10008000.Επομενως μπορεις να την χρησιμοποιησεις σαν τιμη διεθυνσης και να αποθηκευσεις εκει τις τιμες που θελεις σχετικα, δηλαδη 0($gp),1($gp) ktl..¨  ????
γιατι εδω φιλε λες να χρησιμοποιησω τις διευθυνσεις 0($gp) και 1($gp) ???
 :) :) :)


Η εκφωνηση ειναι λιγο μπερδεμενη...Η καταχωρητες δεν βρισκονται σε διευθυνσεις...Αλλο οι καταχωρητες και αλλο οι διεθυνσεις..Μπορεις ανα θελεις να χρησιμοποιησεις απλα 3 διαφορετικους καταχωρητες και να κανεις παλι την δουλεια σου...Απλα εγω ειμαι παλιος(το εχω περασει το μαθημα απλα ασχολουμαι με προγραμματισμους κτλ) και απο την εμπειρια μου πανω σε αυτες τις εργασιες υποψιαζομαι οτι εννοει τον καταχωρητη $gp, τον οποιο τον χρησιμοποιησε και σε παλιοτερες εργασιες κατα κορον επειδη απλα (για να σε βοηθησει κυριως...) εχει αποθηκευμενη την τιμη 0x10008000 και ετσι εσυ στην ουσια μπορεις να αποθηκευεις οχι γραφοντας την απολυτη διευθυνση αλλα σχετικα με την $gp...Η εργασια ειναι απλη, στην ουσια δεν εχει καποιο πρακτικο νοημα αυτο που θελει να κανεις, απλα θελει λιγο να παιξεις με τις εντολες και να σκεφτεις καποια πραγματα...Το καθε κελι διευθυνσης χωραει 8bit..Mια "λεξη" 32 bit θελει 4 κελια...Για αυτο οπως λες και εσυ θα μπορουσες να πηγαινεις 0($gp),4($gp) κτλ...Φυσικα και δεν ειναι λαθος...Ωστοσο με μια 32Bit λεξη μπορεις να γραψεις μεχρι τον αριθμο (2^32)-1..Σε αυτην την εργασια πρεπει να αποθηκευεις τον αριθμο 1 ή 0.Αρα και τα 8 bit του ενος κελιου σου φτανουν και σου περισσευουν..Οποτε απλα και μονο για οικονομια μνημης μπορεις να αποθηκευεις ανα 1 κελι δλδ 0($gp),1($gp)..Ξανα λεω οτι και ο τροπος που λες δεν ειναι λαθος...


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: tpt on May 12, 2014, 18:20:07 pm
που μπορω να βρω πως λειτουργει ο $gp????


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: giannhs12 on May 12, 2014, 19:54:21 pm
που μπορω να βρω πως λειτουργει ο $gp????
στο βιβλιο το λεει καπου στη σελ 161 .....
ειναι απλα ενας καταχωρητης του mips που εχει by default την τιμη 0x 1000 8000
ο χωρος των στατικων δεδομενων στη μνημη ξεκινα απο 0χ 1000 0000 mexri και 0χ 1000 ffff
o $gp δειχνει καπου στη μεση σκεψου αυτου του χωρου μνημης ... ετσι
εχοντας σαν αναφορα αυτο το σημειο στη μνημη μπορεις να την προσπελαυνεις πιο ευκολα ;) ;)


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: giannhs12 on May 12, 2014, 19:54:57 pm
στη εκφωνηση της εργασιας λεει

"Θεωρείστε ότι η κατάσταση κάθε διακόπτη καταγράφεται στο λιγότερο σημαντικό ψηφίο ενός καταχωρητή στη μνήμη των στατικών δεδομένων που αρχίζει από τη διεύθυνση 0x10008000."

αρα εγω πρεπει να διαβαζω το 0 ή το 1 για καθε διακοπτη και να σωζω την κατασταση του στο λιγοτερο σημαντικο ψηφιο ενος καταχωρητη.
αρα πρεπει να χρησιμοποιησω 3 καταχωρητες απο το χωρο των στατικων δεδομενων,εναν για καθε διακοπτη ετσι δεν ειναι???
καθε καταχωρητης θα εχει το 000....00000 (και τα 32 του bits 0) ή 000...001 (το τελευταιο του bit 1) ???

και για να αναφερομαι σε καθε εναν απο τους 3 καταχωρητες θα χρησιμοποιω τις διευθυνσιες
0($gp)     ??????????????
4($gp)      ????????????
8($gp)       ????????????

γιατι καπου πιο πανω στ posts διαβασα αυτο
¨Ο $gp εχει by default την τιμη 0x10008000.Επομενως μπορεις να την χρησιμοποιησεις σαν τιμη διεθυνσης και να αποθηκευσεις εκει τις τιμες που θελεις σχετικα, δηλαδη 0($gp),1($gp) ktl..¨  ????
γιατι εδω φιλε λες να χρησιμοποιησω τις διευθυνσεις 0($gp) και 1($gp) ???
 :) :) :)


Η εκφωνηση ειναι λιγο μπερδεμενη...Η καταχωρητες δεν βρισκονται σε διευθυνσεις...Αλλο οι καταχωρητες και αλλο οι διεθυνσεις..Μπορεις ανα θελεις να χρησιμοποιησεις απλα 3 διαφορετικους καταχωρητες και να κανεις παλι την δουλεια σου...Απλα εγω ειμαι παλιος(το εχω περασει το μαθημα απλα ασχολουμαι με προγραμματισμους κτλ) και απο την εμπειρια μου πανω σε αυτες τις εργασιες υποψιαζομαι οτι εννοει τον καταχωρητη $gp, τον οποιο τον χρησιμοποιησε και σε παλιοτερες εργασιες κατα κορον επειδη απλα (για να σε βοηθησει κυριως...) εχει αποθηκευμενη την τιμη 0x10008000 και ετσι εσυ στην ουσια μπορεις να αποθηκευεις οχι γραφοντας την απολυτη διευθυνση αλλα σχετικα με την $gp...Η εργασια ειναι απλη, στην ουσια δεν εχει καποιο πρακτικο νοημα αυτο που θελει να κανεις, απλα θελει λιγο να παιξεις με τις εντολες και να σκεφτεις καποια πραγματα...Το καθε κελι διευθυνσης χωραει 8bit..Mια "λεξη" 32 bit θελει 4 κελια...Για αυτο οπως λες και εσυ θα μπορουσες να πηγαινεις 0($gp),4($gp) κτλ...Φυσικα και δεν ειναι λαθος...Ωστοσο με μια 32Bit λεξη μπορεις να γραψεις μεχρι τον αριθμο (2^32)-1..Σε αυτην την εργασια πρεπει να αποθηκευεις τον αριθμο 1 ή 0.Αρα και τα 8 bit του ενος κελιου σου φτανουν και σου περισσευουν..Οποτε απλα και μονο για οικονομια μνημης μπορεις να αποθηκευεις ανα 1 κελι δλδ 0($gp),1($gp)..Ξανα λεω οτι και ο τροπος που λες δεν ειναι λαθος...

 ;) ;) ;) ;) ;) thank you bro


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: giannhs12 on May 12, 2014, 19:55:12 pm
στη εκφωνηση της εργασιας λεει

"Θεωρείστε ότι η κατάσταση κάθε διακόπτη καταγράφεται στο λιγότερο σημαντικό ψηφίο ενός καταχωρητή στη μνήμη των στατικών δεδομένων που αρχίζει από τη διεύθυνση 0x10008000."

αρα εγω πρεπει να διαβαζω το 0 ή το 1 για καθε διακοπτη και να σωζω την κατασταση του στο λιγοτερο σημαντικο ψηφιο ενος καταχωρητη.
αρα πρεπει να χρησιμοποιησω 3 καταχωρητες απο το χωρο των στατικων δεδομενων,εναν για καθε διακοπτη ετσι δεν ειναι???
καθε καταχωρητης θα εχει το 000....00000 (και τα 32 του bits 0) ή 000...001 (το τελευταιο του bit 1) ???

και για να αναφερομαι σε καθε εναν απο τους 3 καταχωρητες θα χρησιμοποιω τις διευθυνσιες
0($gp)     ??????????????
4($gp)      ????????????
8($gp)       ????????????

γιατι καπου πιο πανω στ posts διαβασα αυτο
¨Ο $gp εχει by default την τιμη 0x10008000.Επομενως μπορεις να την χρησιμοποιησεις σαν τιμη διεθυνσης και να αποθηκευσεις εκει τις τιμες που θελεις σχετικα, δηλαδη 0($gp),1($gp) ktl..¨  ????
γιατι εδω φιλε λες να χρησιμοποιησω τις διευθυνσεις 0($gp) και 1($gp) ???
 :) :) :)


οπως τα λες ειναι.. 0,4,8...

 ;) ;) ;) ;) ;)


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: paul on May 13, 2014, 19:22:17 pm
παιδια ξερετε κανενα καλο tutorial για το πως δουλευει ο QtSPIM γιατι εχω μαυρα μεσανυχτα οσον αφορα την χρηση του?


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: giannhs12 on May 13, 2014, 21:18:17 pm
παιδια ξερετε κανενα καλο tutorial για το πως δουλευει ο QtSPIM γιατι εχω μαυρα μεσανυχτα οσον αφορα την χρηση του?
Καλο ειναι το help που εχει μεσα το spim


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: giannhs12 on May 13, 2014, 23:57:19 pm
εγραψα τον κωδικα χρησιμοποιωντας μια μονο λουπα εκει που δεχεται χαρακτηρες απο το πληκτρολογιο κι ξεκινα μονο αμα δωσω το Κ.

 ΜΗΠΩς  το εχει κανει kapoios με  fors ekei που διαβαζει τους διακοπτες και εκει που' "αναβει τ leds" ;



Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: airguitar on May 14, 2014, 12:16:52 pm
στη εκφωνηση της εργασιας λεει

"Θεωρείστε ότι η κατάσταση κάθε διακόπτη καταγράφεται στο λιγότερο σημαντικό ψηφίο ενός καταχωρητή στη μνήμη των στατικών δεδομένων που αρχίζει από τη διεύθυνση 0x10008000."

αρα εγω πρεπει να διαβαζω το 0 ή το 1 για καθε διακοπτη και να σωζω την κατασταση του στο λιγοτερο σημαντικο ψηφιο ενος καταχωρητη.
αρα πρεπει να χρησιμοποιησω 3 καταχωρητες απο το χωρο των στατικων δεδομενων,εναν για καθε διακοπτη ετσι δεν ειναι???
καθε καταχωρητης θα εχει το 000....00000 (και τα 32 του bits 0) ή 000...001 (το τελευταιο του bit 1) ???

και για να αναφερομαι σε καθε εναν απο τους 3 καταχωρητες θα χρησιμοποιω τις διευθυνσιες
0($gp)     ??????????????
4($gp)      ????????????
8($gp)       ????????????

γιατι καπου πιο πανω στ posts διαβασα αυτο
¨Ο $gp εχει by default την τιμη 0x10008000.Επομενως μπορεις να την χρησιμοποιησεις σαν τιμη διεθυνσης και να αποθηκευσεις εκει τις τιμες που θελεις σχετικα, δηλαδη 0($gp),1($gp) ktl..¨  ????
γιατι εδω φιλε λες να χρησιμοποιησω τις διευθυνσεις 0($gp) και 1($gp) ???
 :) :) :)


Η εκφωνηση ειναι λιγο μπερδεμενη...Η καταχωρητες δεν βρισκονται σε διευθυνσεις...Αλλο οι καταχωρητες και αλλο οι διεθυνσεις..Μπορεις ανα θελεις να χρησιμοποιησεις απλα 3 διαφορετικους καταχωρητες και να κανεις παλι την δουλεια σου...Απλα εγω ειμαι παλιος(το εχω περασει το μαθημα απλα ασχολουμαι με προγραμματισμους κτλ) και απο την εμπειρια μου πανω σε αυτες τις εργασιες υποψιαζομαι οτι εννοει τον καταχωρητη $gp, τον οποιο τον χρησιμοποιησε και σε παλιοτερες εργασιες κατα κορον επειδη απλα (για να σε βοηθησει κυριως...) εχει αποθηκευμενη την τιμη 0x10008000 και ετσι εσυ στην ουσια μπορεις να αποθηκευεις οχι γραφοντας την απολυτη διευθυνση αλλα σχετικα με την $gp...Η εργασια ειναι απλη, στην ουσια δεν εχει καποιο πρακτικο νοημα αυτο που θελει να κανεις, απλα θελει λιγο να παιξεις με τις εντολες και να σκεφτεις καποια πραγματα...Το καθε κελι διευθυνσης χωραει 8bit..Mια "λεξη" 32 bit θελει 4 κελια...Για αυτο οπως λες και εσυ θα μπορουσες να πηγαινεις 0($gp),4($gp) κτλ...Φυσικα και δεν ειναι λαθος...Ωστοσο με μια 32Bit λεξη μπορεις να γραψεις μεχρι τον αριθμο (2^32)-1..Σε αυτην την εργασια πρεπει να αποθηκευεις τον αριθμο 1 ή 0.Αρα και τα 8 bit του ενος κελιου σου φτανουν και σου περισσευουν..Οποτε απλα και μονο για οικονομια μνημης μπορεις να αποθηκευεις ανα 1 κελι δλδ 0($gp),1($gp)..Ξανα λεω οτι και ο τροπος που λες δεν ειναι λαθος...

1) Οταν αποθηκευω στον gp ομως δεν μου βγαζει 0 ή 1 αλλα 268501039 !! Λογικα την διευθηνση του gp ?
Ας βοηθησει καποιος
2) Kαι επισης πως θα γινει οταν παταω το κ να ξεκιναει το προγραμμα ?


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: giannhs12 on May 14, 2014, 12:23:23 pm
Αποθηκευεις τις τιμες των διακοπτων στη μνημη στις διευθύνσεις 0 ($gp) , 4 kai 8 gp


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: airguitar on May 14, 2014, 12:38:38 pm
Αποθηκευεις τις τιμες των διακοπτων στη μνημη στις διευθύνσεις 0 ($gp) , 4 kai 8 gp
αμα θελω να τυποσω την τιμη που βαζω π.χ 0 ή 1 τοτε τι κανω ? με την syscall το προσπαθησα αλλα δεν τα καταφερα .(χωρις τον gp εγινε ομως αυτο)


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: jthois on May 14, 2014, 21:14:39 pm
πως ελέγχουμε αν δώσει ο χρήστης το k;;;; Η ιδέα μου ήταν να διαβάσω ενα char, που θα αποθηκευτεί στο $v0, να κάνω έναν καταχωρητή ίσο με 107(ascii code του  k) και να τα συγκρίνω με beq


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: airguitar on May 14, 2014, 22:09:59 pm
Μπορει καποιος να εξηγησει πως θα γινει η καταγραφη της καταστασης των διακοπτων στο λιγοτερο σημαντικο ψηφιο ενος καταχωρητη ($gp απο οτι καταλαβα)
γιατι δεν πηρα καποια σαφη απαντηση απο τα σχολια των συναδελφων ?

Ευχαριστω !!


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: gt on May 15, 2014, 02:23:52 am
πως ελέγχουμε αν δώσει ο χρήστης το k;;;; Η ιδέα μου ήταν να διαβάσω ενα char, που θα αποθηκευτεί στο $v0, να κάνω έναν καταχωρητή ίσο με 107(ascii code του  k) και να τα συγκρίνω με beq

Αψογος...μονο που ο αριθμος ειναι το 75, γιατι το K ειναι Κεφαλαιο...


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: gt on May 15, 2014, 02:25:42 am
Μπορει καποιος να εξηγησει πως θα γινει η καταγραφη της καταστασης των διακοπτων στο λιγοτερο σημαντικο ψηφιο ενος καταχωρητη ($gp απο οτι καταλαβα)
γιατι δεν πηρα καποια σαφη απαντηση απο τα σχολια των συναδελφων ?

Ευχαριστω !!

Αυτο που λαμβανεις απο το πληκτρολογιο το αποθηκευεις με την εντολη sb στο 0($gp),1($gp) κτλ...


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: talkshowhost on May 15, 2014, 04:53:08 am
επειδη δεν εχω ιδεα απο QtSpim μπορει καποιος να γραψει τα βηματα συνταξης του κωδικα σε αυτον?
ευχαριστω


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: paul on May 15, 2014, 13:02:23 pm
Για το διαβασμα και εκτυπωση χαρακτηρα ο Χασαπης στο ethmmy εχει την εξης λυμενη ασκηση

Quote
main:
    ori $v0, 12
         syscall
    sw $v0, 0($sp)   
         lw $a0, 0($sp)
    andi $v0, 0x0
         ori $v0, 11
         syscall
         jr $ra

Ειναι σωστη?Μπορουμε να την χρησιμοποιησουμε?


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: jthois on May 15, 2014, 17:19:34 pm
πως ελέγχουμε αν δώσει ο χρήστης το k;;;; Η ιδέα μου ήταν να διαβάσω ενα char, που θα αποθηκευτεί στο $v0, να κάνω έναν καταχωρητή ίσο με 107(ascii code του  k) και να τα συγκρίνω με beq

Αψογος...μονο που ο αριθμος ειναι το 75, γιατι το K ειναι Κεφαλαιο...

Επειδή έχω κολλήσει, ποια είναι η εντολή ωστε να περάσω σε έναν καταχωρητή το 75! Αυτό;
   li     $s1,  75
ή
    move   $s2,  $75


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: gt on May 15, 2014, 18:19:48 pm
πως ελέγχουμε αν δώσει ο χρήστης το k;;;; Η ιδέα μου ήταν να διαβάσω ενα char, που θα αποθηκευτεί στο $v0, να κάνω έναν καταχωρητή ίσο με 107(ascii code του  k) και να τα συγκρίνω με beq

Αψογος...μονο που ο αριθμος ειναι το 75, γιατι το K ειναι Κεφαλαιο...

Επειδή έχω κολλήσει, ποια είναι η εντολή ωστε να περάσω σε έναν καταχωρητή το 75! Αυτό;
   li     $s1,  75
ή
    move   $s2,  $75

To 1..


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: Ser Harry Man on May 15, 2014, 20:09:33 pm
Εγώ έχω το εξής θέμα.

Διαβάζω σαν integer τις τιμές των 3ων διακοπτών(κάνω και τον έλεγχο) και τις αποθηκεύω στα 0($gp),4($gp),8($gp) διαδοχικά.
Όταν πάω όμως στο data segment γράφει π.χ για τιμές 1,0,1

[10008000] 00000001 00000000 00000001 00000000

οπου τα πρώτα 3 είναι προφανώς οι τιμές μου γιατί μετά είναι όλα μηδενικά.

Υποψιάζομαι οτι το πρόβλημα είναι πως διαβάζω integer που μπορεί να έχουν μικρότερο size λέξεων

Προς το παρόν το έλυσα βάζοντας τιμές 12($gp) 28($gp), 44($gp) ωστε τουλάχιστον να φαίνονται σαν 32μπιτες λέξεις, αλλα θα ήθελα εναν καλύτερο τρόπο εαν υπάρχει..


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: gt on May 15, 2014, 20:25:04 pm
Εγώ έχω το εξής θέμα.

Διαβάζω σαν integer τις τιμές των 3ων διακοπτών(κάνω και τον έλεγχο) και τις αποθηκεύω στα 0($gp),4($gp),8($gp) διαδοχικά.
Όταν πάω όμως στο data segment γράφει π.χ για τιμές 1,0,1

[10008000] 00000001 00000000 00000001 00000000

οπου τα πρώτα 3 είναι προφανώς οι τιμές μου γιατί μετά είναι όλα μηδενικά.

Υποψιάζομαι οτι το πρόβλημα είναι πως διαβάζω integer που μπορεί να έχουν μικρότερο size λέξεων

Προς το παρόν το έλυσα βάζοντας τιμές 12($gp) 28($gp), 44($gp) ωστε τουλάχιστον να φαίνονται σαν 32μπιτες λέξεις, αλλα θα ήθελα εναν καλύτερο τρόπο εαν υπάρχει..

Οι τιμες που εμφανιζονται ειναι στο 16αδικο οποτε ειναι σωστες...αν παρατηρησεις κατω απο το [10008000] θα σου εμφανιζει [10008010] που σημαινει οτι σε καθε γραμμη περιεχονται 16 κελια και πιο συγκεκριμενα τα κελια [10008001],[10008002],....[1000800f]...Aρα εμφανιζονται 16 κελια...δια 4 στηλες=4 κελια η στηλη...4κελια*8bit το κελι=32bit...Επομενως η καθε στηλη σου περιεχει μια 32bit λεξη-αυτην που εισαγεις....Οποτε αυτο που σου εμφανιζει ειναι Απολυτα Σωστο...


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: paul on May 17, 2014, 01:45:16 am
παιδια γραφω αυτον τον κωδικα και γινεται ατερμων βρογχος...μπορει να βοηθησει κανεις?

Quote
L1:
            li $v0, 12
                 syscall
            sw $v0, 16($gp)   
                 lw $a0, 16($gp)
                 lw $s4, 20($gp)
                 li $s4, 75
                 
                 bne $a0,$s4,L1            #elegxos gia k


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: gt on May 17, 2014, 13:36:45 pm
παιδια γραφω αυτον τον κωδικα και γινεται ατερμων βρογχος...μπορει να βοηθησει κανεις?

Quote
L1:
            li $v0, 12
                 syscall
            sw $v0, 16($gp)   
                 lw $a0, 16($gp)
                 lw $s4, 20($gp)
                 li $s4, 75
                 
                 bne $a0,$s4,L1            #elegxos gia k

Αυτο που παιρνεις δεν χρειαζεται να το αποθηκευεις και η εντολη lw $s4,20($gp) δεν κανει τιποτα αφου στην ουσια την τιμη στον $s4 την βαζεις με την εντολη li.Γραψε μονο αυτο:

                  li $s4,75
L1:
                 li $v0,12
            syscall
            bne $s4,$v0,L1

Αν εχεις προβλημα με αυτο(που κανονικα δεν πρεπει) τσεκαρε μηπως εχεις ονομασει και αλλο Label L1...
                 


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: Σαλτιμπάγκος on May 18, 2014, 01:36:59 am
Το αρχειο που θα παραδωσουμε πρεπει να ειναι .asm ε;


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: electric67 on May 18, 2014, 12:15:17 pm
αμα την στειλαμε 12 και 5 λεπτα δεν θα γινει δεκτη?


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: Dealan on May 18, 2014, 14:24:10 pm
Γενικώς, όταν τελιώνει η προθεσμία για μια εργασία, κλειδώνεται η αντίστοιχη σελίδα στο ethmmy με κάποια καθυστέρηση και δεν μπορείς να υποβάλεις κάτι. Άρα αφού την έστειλες λογικά θα είσαι εντάξει.


Title: Re: [Αρχιτεκτονική Υπ.] 1η Εργασία
Post by: Solaufein on May 23, 2014, 20:39:05 pm
Οι προφορικές πάνω στις ασκήσεις πότε θα γίνουν - έχει ειπωθεί τπτ?