THMMY.gr

Μαθήματα Βασικού Κύκλου => Αρχιτεκτονική Υπολογιστών => Topic started by: bakeneko on April 24, 2008, 19:39:34 pm



Title: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: bakeneko on April 24, 2008, 19:39:34 pm
Έχω ένα πρόβλημα με την 1η άσκηση στις εργασίες... Ενώ μου δουλεύει για n=3, από 4 και πάνω μου βγάζει έναν άκυρο χαρακτήρα ως αποτέλεσμα.... (π.χ. άνω κάτω τελεία, ερωτηματικό αγγλικό, ερωτηματικό ελληνικό...) Έχει κανείς παρόμοιο πρόβλημα..;;




topic' s subject edited by alejandro.
σχολιο: ελεος παναθεμα σε εισαι και μοντ! :P


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: bakeneko on April 25, 2008, 15:23:47 pm
Έστω ένας να πει " εγώ την έκανα" μήπως; :P


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Godhatesusall on April 25, 2008, 15:25:33 pm
το πρόβλημα είναι ότι στους αριθμούς μέχρι το 9 μπορείς να προσθέσεις ένα νούμερο για να τυπώσεις το ASCII.Το ζήτημα είναι ότι στους διψήφιους δεν γίνεται αυτό.Θα πρέπει να αναγνωρίσεις και να τυπώσεις 1-1 τα ψηφία.



Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: bakeneko on April 25, 2008, 16:09:22 pm
Thanks, το είχα υποπτευτεί... Άντε να χωρίζουμε τώρα δεκάδες κτλ :P


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: bakeneko on April 26, 2008, 13:16:11 pm
Πως κάνουμε μπαιπους αρνητικό αριθμό; π.χ. τον αριθμό -16... (δεν ξέρω αν το λέει στο βιβλίο, αλλα αυτή τη στιγμή δεν έχω πρόσβαση :P )


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: papajim on April 26, 2008, 13:23:31 pm
Κανονικά νομίζω


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Wade on April 26, 2008, 13:24:07 pm
Πως κάνουμε μπαιπους αρνητικό αριθμό; π.χ. τον αριθμό -16... (δεν ξέρω αν το λέει στο βιβλίο, αλλα αυτή τη στιγμή δεν έχω πρόσβαση :P )

Από ένα παράδειγμα που έχει στο eTHMMY, λέει απλώς BIPUSH -3...


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: bakeneko on April 26, 2008, 14:28:59 pm
α οκ εγώ τα έκανα όλα με δεκαεξαδικό λ0λ


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Mendoza on April 26, 2008, 14:48:44 pm
α οκ εγώ τα έκανα όλα με δεκαεξαδικό λ0λ
ki αυτο σωστο ειναι απ οτι θυμαμαι,ειτε κανεις push στο δεκαδικο,ειτε στο δεκαεξαδικο,ειτε στο δυαδικο βαζεις στη στοιβα τον ιδιο αριθμο!


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: bakeneko on April 26, 2008, 15:12:01 pm
Ναι, αλλά ο αρνητικός στο δεκαεξαδικό πως είναι; δοκίμασα το 1x10 και δε δούλεψε... (για να δοκιμάσω το πρόγραμμα έκανα αφαίρεση από το 0, κάτι το οποίο δουλεύει αλλά είναι πολύ μπακάλικο!)


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: MARIOS on May 02, 2008, 11:28:08 am
Θέλω να κάνω μια ερώτηση για τις εργασίες γενικά...

Εγώ πέρσυ έδωσα εργασία...αλλά μου είπαν παιδιά ότι θα πρέπει να εξεταστούμε κιόλας και εγώ δεν εξετάστικα...Αυτό ισχύει???? Αν είναι να κάνω και την άλλη...την φετινή


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: MARIOS on May 02, 2008, 13:20:43 pm
κάποιος?????


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: TeeKay on May 02, 2008, 13:58:33 pm
Για την εξέταση ισχύει σίγουρα. Τώρα ίσως πρέπει να ρωτήσεις αν πρέπει να κάνεις πάλι την εργασία ή αν μετράει εκείνη που είχες κάνει πέρσι...  :-\


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: SarumaN on May 02, 2008, 14:04:14 pm
Οι  φοιτητές  του  4ου  εξαμήνου  πρέπει  να  παρακολουθήσουν  το  εργαστήριο  και  να  παραδώσουν  την  εργασία  στο  τέλος.
Οσοι  έχουν  παρακολουθήσει  το  εργαστήριο  δεν  χρειάζεται  να  το  ξαναπαρακολουθήσουν.  Απλά  να  παραδώσουν  την  εργασία  στο  τέλος  αν  δεν  την  είχαν  παραδώσει  πέρσι.
'Ολοι  πρέπει  να  δώσουν  τις  εξετάσεις  του  εργαστηρίου  και  να  τις  περάσουν.
Δηλαδή  πρέπει  όλοι  να  παρακολουθήσουν  μια  φορά  το  εργαστήριο,  να  δώσουν  εργασία  και  να  εξεταστούν  στο  εργαστήριο.  Αν  σε  κάποιο  από  αυτά  δεν  περάσουν  τότε  επαναλαμβάνουν  μόνο  αυτό  ανεξαρτήτα  της  χρονικής  περιόδου  που  παρακολούθησαν  το  μάθημα.


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: mentas on May 02, 2008, 14:31:12 pm
Αν δεν παραδώσεις την εργασία της Αρχιτεκτονικής τώρα ,γίνεται να την παραδώσεις το Σεπτέμβριο και να εξεταστείς τότε??
Και μια άλλη ερώτηση. Για να μπορέσεις να δώσεις το μάθημα πρέπει υποχρεωτικά να έχεις περάσει τα προφορικά του εργαστηρίου???
Ευχαριστώ


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: MARIOS on May 02, 2008, 15:05:10 pm
SarumaN να σου πω, η εξέταση της εργασίας που μου είπανε είναι στην ουσία η εξέταση του εργαστηρίου???

Δηλαδή δεν έχει εξέταση εργασίας και μετά εξέταση εργαστηρίου


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: MARIOS on May 02, 2008, 15:06:01 pm
Χωρίς να είανι αναγκαστικό να απαντήσει ο SarumaN μόνο...


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: SarumaN on May 02, 2008, 15:46:40 pm
@menta
παλιά ίσχυε αυτό http://www.thmmy.gr/smf/index.php?topic=5464.msg99592#msg99592

@Μάριε
Απ' ότι μου 'χουν μεταφέρει δεν υπάρχει εξέταση για τις εργασίες. Η εξέταση εργαστηρίου δεν σχετίζεται με αυτές


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: mentas on May 02, 2008, 15:58:40 pm
Ευχαριστώ πολύ!!


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: mxkrtg13 on May 04, 2008, 18:02:20 pm
παιδιά λίγη βοήθεια,δε νομίζω οτι τα καταφέρνω,οσο πιο πολύ διαβάζω τις σημειώσεις τόσο πιο πολύ μπερδεύομαι.Πχ
στην ασκηση 1 εισάγω τους 20 αριθμους σε δεκαεξαδικό με την εντολή bipush κ μετα τους προσθέτω,προφανώς δεν είναι σωστό.Δεν καταλαβαίνω και την λογική της γλώσσας που χρησιμοποιούμε


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Wade on May 04, 2008, 18:31:47 pm
παιδιά λίγη βοήθεια,δε νομίζω οτι τα καταφέρνω,οσο πιο πολύ διαβάζω τις σημειώσεις τόσο πιο πολύ μπερδεύομαι.Πχ
στην ασκηση 1 εισάγω τους 20 αριθμους σε δεκαεξαδικό με την εντολή bipush κ μετα τους προσθέτω,προφανώς δεν είναι σωστό.Δεν καταλαβαίνω και την λογική της γλώσσας που χρησιμοποιούμε

Όσον αφορά το δεκαεξαδικό, δεν χρειάζεται να σε απασχολεί παρά μόνο στην έξοδο των αποτελεσμάτων.  Όσο γράφεις τον κώδικα του προγράμματος, μπορείς να χρησιμοποιείς ελεύθερα τους αριθμούς σε δεκαδική μορφή.  Για παράδειγμα, η BIPUSH 5 θα τοποθετήσει το 5 στην κορυφή της στοίβας.  Αν όμως θέλεις να το εμφανίσεις στην οθόνη, θα πρέπει πρώτα να του προσθέσεις το δεκαεξαδικό 0x30, επειδή η εντολή OUT εκτυπώνει τον ASCII κωδικό του χαρακτήρα στην κορυφή της στοίβας.  Για παράδειγμα, η σειρά εντολών:

BIPUSH 5
BIPUSH 0x30
IADD
OUT

Θα εμφανίσει στην οθόνη το 5.
Επίσης, δεν χρειάζεται απαραίτητα να κάνεις BIPUSH όλους τους αριθμούς από το 1 μέχρι το 20 και να τους προσθέσεις, μπορείς να το κάνεις και με έναν επαναληπτικό βρόχο.  Αυτό υλοποιείται με εντολές διακλάδωσης, όπως για παράδειγμα η GOTO, η IFEQ και η IFLT.  Έστω ότι θέλεις να κάνεις ένα for loop για i=1 ως 20.  Κατ' αρχάς, δηλώνεις το i ως τοπική μεταβλητή και το αρχικοποιείς ίσο με 0 ή 1.  Στην αρχή της γραμμής που θέλεις να είναι η αρχή του βρόχου, βάζεις ένα label (έστω L1).  Στο σημείο που θέλεις να τελειώνει ο επαναληπτικός βρόχος, κάνεις έναν έλεγχο αν το i είναι μικρότερο από 20.  Αν ναι, γίνεται διακλάδωση στο label.  Ο κώδικας που το υλοποιεί αυτό:

.main
.var
i
.end-var
BIPUSH 0
ISTORE i
...
L1:     IINC i 1
...
ILOAD i
BIPUSH 20
ISUB
IFLT L1
...
.end-main

Αν δηλαδή i-20<0 => i<20, τότε επιστρέφουμε στην εντολή L1, αυξάνεται το i κατά 1 και ξαναεκτελείται ο βρόχος.  Αλλιώς, βγαίνουμε από το βρόχο και συνεχίζεται κανονικά η εκτέλεση του προγράμματος.


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Wade on May 04, 2008, 18:49:26 pm
Και κάτι ακόμα...  Στην αρχή καλύτερα δοκίμασε τον αλγόριθμο για n=3 για να δεις αν δουλεύει, να βρει το 1+2+3, επειδή το άθροισμα είναι μονοψήφιος αριθμός και μπορεί να εκτυπωθεί εύκολα.  Στην περίπτωσή μας ο αλγόριθμος πρέπει να επιστρέψει το 210 που είναι τριψήφιο, άρα θα πρέπει να απομονωθούν πρώτα τα ψηφία και μετά να εκτυπωθούν.


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: TeeKay on May 10, 2008, 18:02:01 pm
Wade, ενώ κατάλαβαίνω τι εννοείς δεν καταλαβαίνω πως μπορώ να απομονώσω τα ψηφία. Δηλαδή ενώ το πρόγραμμα εκτυπώνει όπως λες το αθροισμα απο 1 μέχρι 3, μετά όταν τρέχω τον προσομοιωτή για ν=20 μου βγάζει ένα περίεργο γράμμα... Πως μπορούν να απομονωθούν τα ψηφία;


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Wade on May 10, 2008, 18:28:33 pm
Wade, ενώ κατάλαβαίνω τι εννοείς δεν καταλαβαίνω πως μπορώ να απομονώσω τα ψηφία. Δηλαδή ενώ το πρόγραμμα εκτυπώνει όπως λες το αθροισμα απο 1 μέχρι 3, μετά όταν τρέχω τον προσομοιωτή για ν=20 μου βγάζει ένα περίεργο γράμμα... Πως μπορούν να απομονωθούν τα ψηφία;

Από όσο ξέρω, δεν υπάρχει εύκολος τρόπος για να γίνει αυτό.  Θα πρέπει να γραφεί κάποια μέθοδος που θα μπορεί να κάνει και τα τρία ψηφία προσβάσιμα ως μονοψήφιους ακέραιους αριθμούς (να αποθηκευτούν για παράδειγμα σε μια τοπική μεταβλητή το καθένα), κι αυτό επειδή η OUT εκτυπώνει τον ASCII κωδικό ενός χαρακτήρα.  Ένας τρόπος να γίνει αυτό είναι , για το ψηφίο των εκατοντάδων για παράδειγμα, να κάνεις διαδοχικές αφαιρέσεις του 100 από τον αριθμό και να δεις πόσες αφαιρέσεις μπορούν να γίνουν χωρίς ο αριθμός να γίνει μικρότερος του μηδενός.

Εμένα πάντως η διαδικασία της εκτύπωσης μου πήρε περισσότερο κώδικα από όσο χρειάστηκε το κανονικό πρόγραμμα :P


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: portinos on May 11, 2008, 12:09:35 pm
Καλημέρα. Τώρα αρχίζω να κάνω την εργασία. Μπορεί κανείς να μου πει τι είναι τα min(a,b), max(a,b); Δεν καταλαβαίνω τι εννοεί με αυτό το πράγμα. Έχει καμία σχέση με το ΑΕΜ του καθενός;


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: bakeneko on May 11, 2008, 12:21:42 pm
αφού στο λέει ρε συ... το min(a,b) είναι μία μέθοδος που παίρνει δύο αριθμούς (a και b), τους συγκρίνει και ως έξοδο βγάζει το μικρότερο, ενώ το max το μεγαλύτερο!


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Wade on May 11, 2008, 12:25:23 pm
Καλημέρα. Τώρα αρχίζω να κάνω την εργασία. Μπορεί κανείς να μου πει τι είναι τα min(a,b), max(a,b); Δεν καταλαβαίνω τι εννοεί με αυτό το πράγμα. Έχει καμία σχέση με το ΑΕΜ του καθενός;

Όταν λέει max(i, j) και min(i, j) εννοεί το μέγιστο και το ελάχιστο αντίστοιχα μεταξύ των αριθμών i και j.  Από τον κώδικα που δίνεται, θα δεις κατ' αρχάς τι τιμές παίρνουν αρχικά τα i και j με βάση τα αντίστοιχα ψηφία του ΑΕΜ σου.  Για παράδειγμα, αν το πρώτο ψηφίο του ΑΕΜ είναι 6, η αρχικοποίηση του i ισοδυναμεί με int i=-6;  Έπειτα, οι τιμές αυτές μεταβάλλονται σε κάθε επαναληπτικό βρόχο, όπως φαίνεται στον κώδικα.  Ουσιαστικά θέλει να μετατρέψεις τον κώδικα που δίνεται από C σε IJVM.


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: portinos on May 11, 2008, 12:27:37 pm
Ναι, εντάξει αυτό. Αλλά οι αριθμοί α και β τι είναι; Που τους βρίσκουμε; Είναι αυθαίρετοι ή έχουν σχέση με το ΑΕΜ μας; Αυτό ρωτάω


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: bakeneko on May 11, 2008, 12:35:19 pm
Είναι οι τιμές που έχουν τα i και j σε εκείνη τη λούπα...


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: portinos on May 11, 2008, 12:41:44 pm
Ok thanks!!!


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: vag on May 11, 2008, 13:24:49 pm
ξεκινώντας απο τα βασικά,
εσεις που τις κάνατε ή έστω ασχοληθήκατε τι χρειάστηκε να διαβάσετε?


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: ilithios on May 11, 2008, 14:00:23 pm
ξεκινώντας απο τα βασικά,
εσεις που τις κάνατε ή έστω ασχοληθήκατε τι χρειάστηκε να διαβάσετε?

Χρειάζεσαι μόνο το σύνολο εντολών
http://en.wikipedia.org/wiki/IJVM

Γενικό σχόλιο για την πρώτη άσκηση: δε με απασχόλησε καθόλου η έξοδος για n=20.. Θα έπρεπε;


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Mikros_Nikolas on May 11, 2008, 14:13:01 pm
Μάλλον, γιατί λέει να τυπώνει τα αποτελέσματα.(δυστυχώς)

Επίσης νομίζω θέλει να εκτυπώνουμε όλα τα αθροίσματα των όρων, δηλαδή
1 3 6 10 15 21 .....


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: mysterious on May 11, 2008, 15:44:41 pm
Μπορεί κάποιος να μου εξηγησει τι ειναι λάθος στο παρακάτω?
Code:
    BIPUSH 0
    ISTORE s
    BIPUSH 1
    ISTORE j
//προσθεση s = 1+2+3+.....+16=136                   
L1:                                 
    BIPUSH 17                   
    ILOAD j      
    IF_ICMPEQ P2        
    ILOAD s
    ILOAD j
    IADD
    ISTORE s
    IINC j 1
    GOTO L1
//ελεγχος αν το s ειναι μεγαλυτερο του 200
P2:
    BIPUSH 200
    ILOAD s
    ISUB
    IFLT P3
    GOTO P4
P3:
.
.
.
P4:
.
.
.

To πρόβλημα μου είναι ότι ενώ το s είναι 136(<200)  το πρόγραμμα μπαίνει στο P3 αντί να μπει στο P4. (Το ίδιο συμβαίνει και για οποιαδήποτε τιμη του s, το 136 ειναι παράδειγμα).
Δύο ημέρες τώρα προσπαθώ να βρω που έχω λάθος και δεν μπορώ με τίποτα να το βρω.. :(


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Andreas on May 11, 2008, 15:48:39 pm
ρε παιδια να σασ ρωτισω κατι?????στην 1η ασκηση πρεπει να υπολογισουμε εμεις το αποτελεσμα καθε φορα της συναρτησης και στο προγραμμα να γραψουμε μονο ενα κωδικα που θα μας τα διαβαζει?????


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: TeeKay on May 11, 2008, 18:08:09 pm
Παιδιά, ξέρει κανεις όταν έχουμε έναν αρνητικό αριθμό πώς μπορούμε να τον κάνουμε OUT;  :-\


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: MonteCristo on May 11, 2008, 18:17:38 pm
Μάλλον, γιατί λέει να τυπώνει τα αποτελέσματα.(δυστυχώς)

Επίσης νομίζω θέλει να εκτυπώνουμε όλα τα αθροίσματα των όρων, δηλαδή
1 3 6 10 15 21 .....
Εγώ το εκλαμβάνω να τυπώνει μόνο το τελικό αποτέλεσμα...

Παιδιά, ξέρει κανεις όταν έχουμε έναν αρνητικό αριθμό πώς μπορούμε να τον κάνουμε OUT;  :-\
Τυπώνεις μια παύλα και στη συνέχεια το απόλυτο του αριθμού

ρε παιδια να σασ ρωτισω κατι?????στην 1η ασκηση πρεπει να υπολογισουμε εμεις το αποτελεσμα καθε φορα της συναρτησης και στο προγραμμα να γραψουμε μονο ενα κωδικα που θα μας τα διαβαζει?????
Πολύ απλό για να είναι αληθινό αν κατάλαβα ακριβώς τι εννοείς...


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: tessaris on May 11, 2008, 19:33:48 pm
Καλησπέρα!
Για το δεύτερο σκέλος: Πώς θα εμφανίσουμε τις λέξεις "max¨ και min¨; θα πρέπει να βρουμε τους ASCII χαρακτήρες του κάθε γράμματος;


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: bakeneko on May 11, 2008, 20:03:29 pm
Εγώ έτσι έκανα...


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: nicole on May 12, 2008, 01:07:13 am
Όταν θέλουμε το μικροπρόγραμμα να μπορεί να υλοποιεί μία νέα εντολή μόνο το αρχείο .conf και το .mal  δεν είναι που πρεπει να τροποποιήσουμε?

Το ρωταω προφανώς για την 3 άσκηση που μας ζητάει να υλοποιήσουμε την poptwo... εχω προσθέσει το opcode της στο .conf αρχείο και τις μικροεντολές που την υλοποιούν στο .mal οπως κάναμε στο εργαστήριο.

Όμως οταν κανω assemble το νέο αρχείο .mal μου βγαζει μηνυμα λάθους στη "γραμμή 243"   :???:
Τι μπορεί να κάνω λάθος? Μπορεί να φταίει το opcode που έχω επιλέξει?


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: bakeneko on May 12, 2008, 11:16:32 am
Ναι, τα τροποποίησες σωστά; Στη γραμμή 243 τι έχει;


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Ariel on May 12, 2008, 11:41:21 am
Ποια κεφάλαια του βιβλίου χρειάζονται για την άσκηση? Ευχαριστώ
(έχω  χάσει λίγο την επαφή με το μαθημα :( )


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: bakeneko on May 12, 2008, 11:43:14 am
Τις σημειώσεις που έχει στο eTHMMY αν κατεβάσεις και τσεκάρεις να καταλάβεις πως δουλεύουν οι εντολές είσαι οκ...


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Mikros_Nikolas on May 12, 2008, 13:53:43 pm
Όταν θέλουμε το μικροπρόγραμμα να μπορεί να υλοποιεί μία νέα εντολή μόνο το αρχείο .conf και το .mal  δεν είναι που πρεπει να τροποποιήσουμε?

Το ρωταω προφανώς για την 3 άσκηση που μας ζητάει να υλοποιήσουμε την poptwo... εχω προσθέσει το opcode της στο .conf αρχείο και τις μικροεντολές που την υλοποιούν στο .mal οπως κάναμε στο εργαστήριο.

Όμως οταν κανω assemble το νέο αρχείο .mal μου βγαζει μηνυμα λάθους στη "γραμμή 243"   :???:
Τι μπορεί να κάνω λάθος? Μπορεί να φταίει το opcode που έχω επιλέξει?

Μήπως δεν έχεις βάλει κάποιον αχρησιμοποίητο δεκαεξαδικό αριθμό σαν label στον opcode;
Τώρα θα δοκιμάσω να το κάνω κι εγώ.


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: CounterSpell on May 12, 2008, 14:13:06 pm
Χαζή ερώτηση ίσως αλλά πού βρίσκουμε τα προγράμματα (compilers) για την εργασία;


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: MonteCristo on May 12, 2008, 14:32:33 pm
Αν κοιτάξεις στις πρώτες σελίδες του φυλλαδίου που σου έδωσαν έχει αναλυτικές πληροφορίες για την διεύθυνση που το κατεβάζεις και την εγκατάστασή του.


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Wade on May 12, 2008, 15:27:58 pm
Όμως οταν κανω assemble το νέο αρχείο .mal μου βγαζει μηνυμα λάθους στη "γραμμή 243"   :???:
Τι μπορεί να κάνω λάθος? Μπορεί να φταίει το opcode που έχω επιλέξει?

Μήπως υπάρχει συντακτικό σφάλμα στις μικροεντολές;  Για παράδειγμα, δεν θα δούλευε το SP=SP-2, αλλά αντίθετα θα δούλευε το SP=SP-1...


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: nicole on May 12, 2008, 17:58:28 pm
Όταν θέλουμε το μικροπρόγραμμα να μπορεί να υλοποιεί μία νέα εντολή μόνο το αρχείο .conf και το .mal  δεν είναι που πρεπει να τροποποιήσουμε?

Το ρωταω προφανώς για την 3 άσκηση που μας ζητάει να υλοποιήσουμε την poptwo... εχω προσθέσει το opcode της στο .conf αρχείο και τις μικροεντολές που την υλοποιούν στο .mal οπως κάναμε στο εργαστήριο.

Όμως οταν κανω assemble το νέο αρχείο .mal μου βγαζει μηνυμα λάθους στη "γραμμή 243"   :???:
Τι μπορεί να κάνω λάθος? Μπορεί να φταίει το opcode που έχω επιλέξει?

Μήπως δεν έχεις βάλει κάποιον αχρησιμοποίητο δεκαεξαδικό αριθμό σαν label στον opcode;
Τώρα θα δοκιμάσω να το κάνω κι εγώ.

Οχι, ο κωδικός που επελεξα για opcode δεν ανήκει σε καμία άλλη εντολή.. Αν τα καταφέρεις please πες μας

Όμως οταν κανω assemble το νέο αρχείο .mal μου βγαζει μηνυμα λάθους στη "γραμμή 243"   :???:
Τι μπορεί να κάνω λάθος? Μπορεί να φταίει το opcode που έχω επιλέξει?

Μήπως υπάρχει συντακτικό σφάλμα στις μικροεντολές;  Για παράδειγμα, δεν θα δούλευε το SP=SP-2, αλλά αντίθετα θα δούλευε το SP=SP-1...

Μπα.. δεν υπάρχει συντακτικό λάθος στις εντολές που έβαλα.. Εξάλλου και η poptwo που μας ζητάει δεν αφήνει περιθώρια για λάθη.. έναν κύκλο παραπάνω απο  pop έχει. Πάντως όχι δεν έχω βάλει SP=SP-2

Επίσης η γραμμη 243 που μου λέει για  συντακτικο λάθος είναι άσχετο σημειο. Είναι  στον κύκλο OPC=H=H+OPC+1         // 101001  της εντολής nop. :o



Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: pthomaid on May 12, 2008, 18:09:51 pm
Παιδιά, ρώτησα σήμερα τον Πέτρου και μου είπε για την έξοδο στην πρώτη άσκηση απλά να βάλουμε μια out ότι και αν βγάζει :???:
Μπορεί κάποιος να το επιβεβαιώσει;

Επίσης, στην δεύτερη άσκηση χρειάζεται invokevirtual για να καλέσει τις μεθόδους min, max ή αρκεί μια goto; 


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Wade on May 12, 2008, 19:21:39 pm
Επίσης, στην δεύτερη άσκηση χρειάζεται invokevirtual για να καλέσει τις μεθόδους min, max ή αρκεί μια goto; 

Νομίζω πως θα πρέπει να δημιουργήσουμε τις κατάλληλες method οι οποίες καλούνται με invokevirtual, από όσα καταλαβαίνω δεν νομίζω να εννοεί goto...


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: TeeKay on May 12, 2008, 19:33:38 pm
Ναι, κι εγώ αυτό νομίζω. Βέβαια αυτό που δεν καταλαβαίνω είναι αν πρέπει να στείλουμε τα i και j σαν ορίσματα των συναρτήσεων...  :???:


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Mikros_Nikolas on May 12, 2008, 20:00:36 pm
Όταν θέλουμε το μικροπρόγραμμα να μπορεί να υλοποιεί μία νέα εντολή μόνο το αρχείο .conf και το .mal  δεν είναι που πρεπει να τροποποιήσουμε?

Το ρωταω προφανώς για την 3 άσκηση που μας ζητάει να υλοποιήσουμε την poptwo... εχω προσθέσει το opcode της στο .conf αρχείο και τις μικροεντολές που την υλοποιούν στο .mal οπως κάναμε στο εργαστήριο.

Όμως οταν κανω assemble το νέο αρχείο .mal μου βγαζει μηνυμα λάθους στη "γραμμή 243"   :???:
Τι μπορεί να κάνω λάθος? Μπορεί να φταίει το opcode που έχω επιλέξει?

Μήπως δεν έχεις βάλει κάποιον αχρησιμοποίητο δεκαεξαδικό αριθμό σαν label στον opcode;
Τώρα θα δοκιμάσω να το κάνω κι εγώ.

Οχι, ο κωδικός που επελεξα για opcode δεν ανήκει σε καμία άλλη εντολή.. Αν τα καταφέρεις please πες μας


Τι να σου πω, το έκανα όπως είπες και δούλεψε. Θα σου στείλω pm με τα βήματα ακριβώς να δεις που έχεις λάθος.


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: nicole on May 13, 2008, 00:48:27 am
Τι να σου πω, το έκανα όπως είπες και δούλεψε. Θα σου στείλω pm με τα βήματα ακριβώς να δεις που έχεις λάθος.

Επιτέλους έκανε assemble!!! Ευχαριστώ πολύ!!  :)
Τελικά αυτό που έκανα λάθος ήταν  ότι δεν έβαζα την poptwo αλφαβητικά μέσα στο αρχείο δλδ μετά την pop αλλά στο τέλος μετά απο όλες τις άλλες. 


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: bakeneko on May 13, 2008, 00:55:10 am
δεν παίζει, εγώ στο τέλος την έβαλα, μετά από όλες τις άλλες και δεν αντιμετώπισα πρόβλημα...


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Mikros_Nikolas on May 13, 2008, 01:09:57 am
Chuck Norris, εσυ είσαι;
 :D ;D


Κάνωντας διάφορα search στο Google είδα ότι πρέπει να τα βάλουμε αλφαβητικά στο .conf.
Τώρα τι να πω, δεν ξέρω...


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: patsalis on May 13, 2008, 10:51:37 am
Μια απλη απορια. Για να δουλεψουνε τα ISUB και IADD πρεπει να μπει καποια συνθηκη ετσι ωστε να λειτουργησουν? Γιατι αντι να μου βγαζει αποτελεσματα, μου βγαζει τετραγωνακια!!!!!!


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: nicole on May 13, 2008, 12:18:10 pm
Μια απλη απορια. Για να δουλεψουνε τα ISUB και IADD πρεπει να μπει καποια συνθηκη ετσι ωστε να λειτουργησουν? Γιατι αντι να μου βγαζει αποτελεσματα, μου βγαζει τετραγωνακια!!!!!!
Τα isub και iadd δουλεύουν κανονικά χωρίς καμία συνθήκη. Αυτό που κάνουν είναι να αφαιρούν  δύο λέξεις απο τη στοίβα και αφού κάνουν την αντίστοιχη πράξη μεταξύ τους απιστρέφουν το αποτέλεσμα στη στοίβα έχοντας έτσι μειώσει και τον SP κατα 1.
Τώρα αν απο λογικής πλευράς ο κωδικάς σου είναι σωστός έλεγξε πάλι μήπως έχεις κάνει λάθος στις τιμές του ASCII που χρησιμοποίησες..


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: igna on May 13, 2008, 13:16:49 pm
Στην πρώτη εργασία μήπως πρέπει να εισάγουμε εμείς τον αριθμό n?



Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Nikiforos on May 13, 2008, 15:20:51 pm
Μια απλη απορια. Για να δουλεψουνε τα ISUB και IADD πρεπει να μπει καποια συνθηκη ετσι ωστε να λειτουργησουν? Γιατι αντι να μου βγαζει αποτελεσματα, μου βγαζει τετραγωνακια!!!!!!
Τα τετραγωνάκια που σου βγάζει είναι γιατί δεν μπορεί να σου τυπώσει τιμές μου αντιστοιχούν στον ASCII μικρότερες του 48 και μεγαλύτερες του 126 πιθανόν εκεί είναι το λάθος αν ήταν στις εντολές θα σου πέταγε λάθος στο compile


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Nikiforos on May 13, 2008, 15:25:50 pm
Στην πρώτη εργασία μήπως πρέπει να εισάγουμε εμείς τον αριθμό n?


Προφανώς γι'άυτο και σου δίνει την τιμή της εκτός κι αν υπάρχει τρόπος να την εισάγεις και να ελέγχεις την τιμή της (εγώ το εψαξα λίγο αλλά δεν τα κατάφερα)


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: igna on May 13, 2008, 16:59:36 pm
Κι εγώ έτσι το έκανα (με n=20).
Αν έχει ακούσει κανείς κάτι διαφορετικό στο μάθημα ας το πεί (αλλιώς ας σωπάσει για πάντα lol)


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Larry_Flynt on May 13, 2008, 17:56:42 pm
Δώστε κανα hint κώδικα! ! ! !

Δε μπορώ να κάνω άλλη εργασία!!!!

Η εργασία τι δίνει μονάδες;


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Larry_Flynt on May 13, 2008, 18:07:07 pm
Τα προγράμματα που χρησιμοποιούμε απο που τα βρίσκουμε; Τι όνομα έχει ο επεξεργαστής μας;


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: elmakal on May 13, 2008, 18:49:15 pm
ρε παιδιά,έμαθε κανείς τελικά αν πρέπει να τυπώσουμε το 210 ή απλά να βάλουμε ενα out όπως κάποιος προανέφερε??
Γιατί είναι πολύ ζόρικο.. :D


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: igna on May 13, 2008, 18:51:56 pm
Το πρόγραμμα το κατεβάζουμε από την σελίδα :
http://www.ontko.com/mic1/
Είναι ένα αρχείο zip.
Έχει στο ethmmy πληροφορίες για το πως θα το εγκαταστήσεις.


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Larry_Flynt on May 13, 2008, 18:54:25 pm
Ωχ, αυτό το βρήκα και στο google... Δεν περίμενα να είναι τόσο χάλια σελίδα.

Επίσης υπάρχει κάποιο έγγραφο να έχει παραδείγματα ή τις εντολές ή κάτι; Στο ethmmy όλα άχρηστα μου φάνηκαν... η αλήθεια είναι οτι δεν τα είδα καλά.


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: cristina89 on May 13, 2008, 19:51:07 pm
Παιδιά! μια βοήθεια...
πως καλούμε τις min max με την INVOKEVIRTUAL?
Αν μπορείτε δώστε ένα παράδειγμα!


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Larry_Flynt on May 13, 2008, 19:52:41 pm
3-4 αρχειάκια με info


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: angel_koz on May 13, 2008, 20:18:45 pm
Μέσα στη συνάρτηση min για παράδειγμα αν και τα δύο ορίσματα της κάποια στιγμή είναι αρνητικά πώς θα τα εκτυπώσω?
 Μία λύση είναι να βρεις το απόλυτο και να εκτυπώσεις μπροστά την παύλα, αλλά πως θα γίνει αυτό??????


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: elmakal on May 13, 2008, 20:23:54 pm
όποιος το έκανε ας στείλει κάτι..και εμείς το ίδιο πρόβλημα έχουμε... :-\


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: nicole on May 13, 2008, 20:38:35 pm
Μέσα στη συνάρτηση min για παράδειγμα αν και τα δύο ορίσματα της κάποια στιγμή είναι αρνητικά πώς θα τα εκτυπώσω?
 Μία λύση είναι να βρεις το απόλυτο και να εκτυπώσεις μπροστά την παύλα, αλλά πως θα γίνει αυτό??????
Κάθε αρνητικός αριθμός αποθηκεύεται ως συμπλήρωμα του 2. Άρα αρκεί να τον αφαιρέσεις απο το μηδέν ώστε να προκύψει ο αντιθετός του δλδ η απόλυτη τιμή του. Τότε όπως είπες και συ εκτυπώνεις πρώτα μία παύλα και μετά την απόλυτη τιμή του αριθμου. Ο ASCII κωδικος της παύλας ειναι 0x2D


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: bakeneko on May 13, 2008, 20:52:19 pm
http://www.asciitable.com/

Για να ξέρετε τι τυπώνετε :)


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: ampoulog on May 14, 2008, 12:03:09 pm
Όταν θέλουμε το μικροπρόγραμμα να μπορεί να υλοποιεί μία νέα εντολή μόνο το αρχείο .conf και το .mal  δεν είναι που πρεπει να τροποποιήσουμε?

Το ρωταω προφανώς για την 3 άσκηση που μας ζητάει να υλοποιήσουμε την poptwo... εχω προσθέσει το opcode της στο .conf αρχείο και τις μικροεντολές που την υλοποιούν στο .mal οπως κάναμε στο εργαστήριο.

Όμως οταν κανω assemble το νέο αρχείο .mal μου βγαζει μηνυμα λάθους στη "γραμμή 243"   :???:
Τι μπορεί να κάνω λάθος? Μπορεί να φταίει το opcode που έχω επιλέξει?

Μήπως δεν έχεις βάλει κάποιον αχρησιμοποίητο δεκαεξαδικό αριθμό σαν label στον opcode;
Τώρα θα δοκιμάσω να το κάνω κι εγώ.

Οχι, ο κωδικός που επελεξα για opcode δεν ανήκει σε καμία άλλη εντολή.. Αν τα καταφέρεις please πες μας


Τι να σου πω, το έκανα όπως είπες και δούλεψε. Θα σου στείλω pm με τα βήματα ακριβώς να δεις που έχεις λάθος.
Και εγώ το ίδιο πρόβλημα έχω μπορεί να βοηθήσει κάποιος ????


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: elen// on May 14, 2008, 12:17:52 pm
μπορει καποιος να πει ακριβως τα βηματα για το ερωτημα 3?εχω ψιλοχαθει..το opcode της poptwo ποιο ειναι?που τα βρισκω αυτα? :-\


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: bakeneko on May 14, 2008, 12:30:54 pm
opcode βάζεις ότι θέλεις αρκεί να μην ανήκει σε άλλη μικροεντολή...


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: portinos on May 14, 2008, 13:29:34 pm
Έχω ένα πρόβλημα στην πρώτη άσκηση. Έχω γράψει τον παρακάτω κώδικα, αλλά εκτυπώνει μόνο το 1 και τίποτα άλλο. Μπορεί κανείς να δώσει καμιά ιδέα.

//Program name: Arithmetic Progression
//Descreption:
//This program prints the results of an arithmetic progrssion in the standard output of the
//mumbers fron 1 to 20
.constant
  mn1 0x31   //M[1]
.end-constant
.main
.var
      i      // metritis
      m1
      m2
      m3
      b
.end-var
      LDC_W mn1
      out
      bipush 0x20
      out
      bipush 1
      istore m1
elegxos: bipush 1
    istore i
    bipush 20
    iload i
    if_icmpeq exit
loop:    iinc i 1
    istore m2
    iload m1
    iadd
    istore m3
    goto loop
exit:    HALT
.end-main


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: mysterious on May 14, 2008, 13:41:25 pm
Αντιγράφω από ethmmy :

    

Οδηγίες για την εργασία Αρχιτεκτονικής Υπολογιστών 2007-2008

14 Μαϊ 2008 1:30 μμ
Σαμαράς

-Δεν  χρειάζεται  να  χρησιμοποιήσεται  την  εντολή  IN.
-Στο  1ο  θέμα  θέλουμε  το  άθροισμα  των  όρων  της  αριθμητικής  προόδου  για  το  συγκεκριμένο  n  που  είναι  αποθηκευμένο  (δηλαδή  αν  n=5,θέλουμε  να  τυπώνεται  στη  οθόνη  15).Όσοι  το  έχουν  κάνει  να  τυπώνει  και  τα  προηγούμενα  αθροίσματα(για  0,1,2....n-1)  να  μην  το  αλλάξουν,  απλά  να  το  αναφέρουν  στην  αναφορά  τους.
-Να  τυπώνεται  κανονικά  το  ζητούμενο  αποτέλεσμα  στην  οθόνη  σε  όλα  τα  θέματα.Δηλαδή  αν  το  αποτέλεσμα  του  1ο  θέματος  είναι  το  45,  να  τυπωθεί  στην  οθόνη  το  45.Στο  2ο  θέμα  θέλουμε  να  τυπώνονται  και  αρνητικά  αποτελέσματα  (π.χ.  το  -  56).
-Να  βάλετε  στο  συμπιεσμένο  αρχείο  τα  screenshots  που  εσείς  νομίζεται  παρουσιάζουν  τη  δουλειά  σας  σε  κάθε  θέμα  καλύτερα  (όχι  όλα,μόνο  αυτά  που  νομίζεται  εσείς  ως  πιο  αντιπροσωπευτικά  της  δουλειά  σας).


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: bakeneko on May 14, 2008, 13:44:54 pm
Ωραία, ανακοίνωση την τελευταία στιγμή, κάποιοι τις έχουμε ανεβάσει ήδη τις εργασίες μας! (μόνο εγώ; :P )
----

Οι αριθμοί της μορφής 0xκάτι είναι στο δεκαεξαδικό, που σημαίνει ότι το 0x31 είναι ο αριθμός 49 (ο οποίος μάλιστα είναι ο χαρακτήρας 1 σε ASCII!). Δες στο site που έδωσα πριν:
http://www.asciitable.com/

Στην πρώτη στήλη είναι οι αριθμοί σε δεκαδικό και στη δεύτερη σε δεκαεξαδικό, ενώ δείχνει και τι θα σου τυπώσει όταν βάλεις την εντολή OUT (την "κόκκινη" στήλη).
Αν θέλεις να βάλεις τον αριθμό 20, ή θα γράψεις σκέτο 20, ή 0x14.

Έτσι όπως το βλέπω το πρόγραμμα σου δεν πρέπει να φτάνει στο HALT ποτέ, έτσι;

Διαβάστε τις σημειώσεις που έχει στο eTHMMY στα σημεία όπου λέει για τις εντολές, καθώς και τα παραδείγματα που έχει...


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: sarovios on May 14, 2008, 15:21:07 pm
Εγω παλι εχω προβλημα με τον mic-1.Κανω τις τροποποιησεις που λεει στο φυλλαδιο αλλα ακομα και το ijvmtest δεν τρεχει.


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: bakeneko on May 14, 2008, 15:23:10 pm
Το πιο απλό πράμα είναι... Αν πεις πως ακριβώς τροποποίησες το αρχείο env πιθανώς να ξεκινήσουμε να βρίσκουμε τη λύση!


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: sarovios on May 14, 2008, 15:27:44 pm
Το εχω κανει unzip στο c:/mic-1 .Και στο env εχω κανει τις εξης τροποποιησεις:
rem echo   NOTE: YOU NEED TO EDIT THE FILE ENV.BAT BEFORE YOUR mic1
rem echo   SOFTWARE will WORK CORRECTLY.
rem pause
rem goto end
.......
path C:\Program Files\Java\jdk1.6.0_06\bin;%path%  (Εχω κατεβασει το JDK 6u1 που λεει στις σημειωσεις και το εχω εγκαταστησει στο C:\Program Files\Java\jdk1.6.0_06)
......
set CLASSPATH=C:\MIC-1\classes.zip



Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: sarovios on May 14, 2008, 15:37:56 pm
Επισης στις σημειωσεις στη σελ. 24 εχει ενα παραδειγμα.στην εντολη while:BIPUSH 0X5 γιατι αποθετει τον αριθμο 5 ενα η αντιστοιχια στον ASCII code ειναι 5=ερωτημα ??? ελπιζω να μην ειναι ηλιθια ερωτηση γιατι ειμαι λιγο ασχετος


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: PallasFTW on May 14, 2008, 17:13:34 pm
χμμμ επειδή και γω έχω κολλήσει κάπως είπα να συνεισφέρω στις απορίες προσθέτοντας άλλη μία :)
δεν έχω καταλάβει κάτι σχετικά με τις μεθόδους και συγκεκριμένα τη λειτουργία και τον τρόπο χρήσης του OBJREF..διάβασα και από το βιβλίο αλλά δεν το πιάσα και πάλι...αν κάποις μπορεί να το απλοποιήσει θα το εκτιμούσα..thnx προκαταβολικώς


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: bakeneko on May 14, 2008, 17:30:48 pm
Στο path βάλε
C:\Program Files\Java\jdk1.6.0_06\bin

Για να συγκρίνεις δύο αριθμούς πρέπει πρώτα να τους τοποθετήσεις στην κορυφή της στοίβας. Έτσι βάζει στη στοίβα τον αριθμό 5 και μετά το num ώστε να τους συγκρίνει. Στο παράδειγμα θέλει να εκτελείται το while μέχρις ώτου το num γίνει 5. Συγκρίνει το 5 με το num με την εντολή IF_ICMPEQ, και αν είναι ίσα συνεχίζει την εκτέλεση από την ετικέτα "ok". Η αντιστοιχία με τον ASCII μας ενδιαφέρει μόνο όταν είναι να τυπώσουμε κάτι (με την εντολή OUT) και όσον αφορά τους αριθμούς πριν από κάθε out θα πρέπει να βάζεις το BIPUSH 0x30 (που είναι το 0 σε ASCII) και IADD για να εκτυπωθεί σωστά. Τον αριθμό όμως δεν πρέπει να τον πειράζεις.

Για παράδειγμα ο αριθμός 5 σε ASCII είναι το 53 στο δεκαδικό. Εσύ θα κάνεις πράξεις κανονικά με το 5, και μόνο όταν έρθει η ώρα να το τυπώσεις θα το μετατρέψεις στην αντιστοιχία του σε ASCII. (BIPUSH 0x30,και IADD).

Τέλος όταν τυπώνεις σε ASCII εκτυπώνεις έναν-έναν τους χαρακτήρες, δλδ αν έχεις το 134 θα πρέπει να μετρήσεις πρώτα τις εκατοντάδες (1), τις δεκάδες (3) και τις μονάδες (4) και να τα τυπώσεις ξεχωριστά. Αν δε βάλεις κανέναν άλλο χαρακτήρα ASCII ανάμεσα, π.χ. κενό κτλ, τελικά θα τυπωθεί αυτό που θέλεις δλδ θα δεις στην οθόνη σου το 134...

Ελπίζω να βοήθησα, αν και δεν εξηγώ πολύ καλά :D


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: bakeneko on May 14, 2008, 17:31:47 pm
χμμμ επειδή και γω έχω κολλήσει κάπως είπα να συνεισφέρω στις απορίες προσθέτοντας άλλη μία :)
δεν έχω καταλάβει κάτι σχετικά με τις μεθόδους και συγκεκριμένα τη λειτουργία και τον τρόπο χρήσης του OBJREF..διάβασα και από το βιβλίο αλλά δεν το πιάσα και πάλι...αν κάποις μπορεί να το απλοποιήσει θα το εκτιμούσα..thnx προκαταβολικώς
Εχμμμ.. ποιο OBJREF? Την INVOKEVIRTUAL δες από τις σημειώσεις, με αυτή την εντολή καλείς μεθόδους...


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: nicole on May 14, 2008, 17:37:25 pm
χμμμ επειδή και γω έχω κολλήσει κάπως είπα να συνεισφέρω στις απορίες προσθέτοντας άλλη μία :)
δεν έχω καταλάβει κάτι σχετικά με τις μεθόδους και συγκεκριμένα τη λειτουργία και τον τρόπο χρήσης του OBJREF..διάβασα και από το βιβλίο αλλά δεν το πιάσα και πάλι...αν κάποις μπορεί να το απλοποιήσει θα το εκτιμούσα..thnx προκαταβολικώς
Το objref είναι απλά μία σταθερά στην οποία δίνεις μία τιμή. Η τιμή που θα επιλέξεις δεν παίζει κανένα ρόλο. Όταν θέλεις να καλέσεις μία μέθοδο πρέπει πρώτα να αποθέσεις στη στοίβα το objref . Έπειτα βαζεις στη στοίβα τις τιμές των ορισμάτων της μεθόδου που καλείς και μετα καλείς τη συνάρτηση. Τα έχει πολύ αναλυτικά και μεθοδικά το φυλλάδιο του εργαστηρίου.
Για παράδειγμα:

.constant
objref 0x20
.end-constant

.main
                   .......
                   ........
                   ........
                   ldc_w objref
                   bipush 3
                   bipush 4
                   invokevirtual max
                   .........
                   .........
.end-main

.method max(a,b)
            ..............
            ..............
.end-method



Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: ΠΑΠΙ on May 14, 2008, 18:12:42 pm
Παιδιά μπορώ να καλέσω μέθοδο μέσα σε μία άλλη μέθοδο, έτσι δεν είναι; Γράφω τη 2η έξω από την 1η και την καλώ κανονικά, σαν να ήμουν στο main;


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Grecs on May 14, 2008, 19:35:52 pm
Στην 3η ασκηση εχω κανει το εξης παραδειγμα:
.main
.var
.end-var
BIPUSH 1
BIPUSH 2
BIPUSH 3
POPTWO
BIPUSH 0x30
IADD
OUT
HALT
.end-main

poptwo1   SP = SP-1;       
poptwo2   MAR = SP = SP-1; rd
poptwo3   
poptwo4   TOS = MDR; goto Main1


αλλα μου εκτυπωνει 3 ενω θα πρεπε να εκτυπωνει 1 σωστα?? δε καταλαβαινω που εχω λαθος


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: bakeneko on May 14, 2008, 19:43:47 pm
την poptwo πάντως κι εγώ έτσι την έκανα και δουλεύει... και ναι, πρέπει να τυπώνει 1...


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: portinos on May 14, 2008, 20:13:31 pm
το .var τι το θέλεις, αφού δε δηλώνεις καμία τοπική μεταβλητή. Βγάλ' το και μάλλον θα δουλέψει κανονικά


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: elen// on May 14, 2008, 21:59:24 pm
μπορει καποιος να μου εξηγησει πως απο δεκαδικο συστημα 8α βρω τον ascii και αντιστροφα?εκει που λεω οτι το καταλαβα μπερδευομαι παλι.. :(


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Wade on May 14, 2008, 22:58:26 pm
μπορει καποιος να μου εξηγησει πως απο δεκαδικο συστημα 8α βρω τον ascii και αντιστροφα?εκει που λεω οτι το καταλαβα μπερδευομαι παλι.. :(

Κατ' αρχάς, κατά τη γνώμη μου οι κωδικοί ASCII πρέπει να σε απασχολούν μόνο και μόνο τη στιγμή της εκτύπωσης, γιατί αλλιώς κάνουν το πρόγραμμα πιο δύσκολο στην κατανόηση χωρίς λόγο...  Έστω, λοιπόν, ότι έχεις στην κορυφή της στοίβας το 7.  Για να το εκτυπώσεις, γράφεις τις εξής εντολές:

BIPUSH 0x30
IADD
OUT

Και θα βγει το 7! :)  Αυτό γίνεται επειδή το 0x30 είναι ο κωδικός ASCII του χαρακτήρα "0", και από κει και πέρα οι κωδικοί ASCII των άλλων αριθμητικών ψηφίων είναι διαδοχικά αμέσως μετά το 0.  Από κει και πέρα, στον υπόλοιπο κώδικα, μπορείς να χειρίζεσαι τους αριθμούς στο δεκαδικό σύστημα κανονικά.

Αυτό όμως αν στην κορυφή της στοίβας έχεις μονοψήφιο αριθμό.  Αν πρέπει να εκτυπώσεις διψήφιο ή τριψήφιο αριθμό, τότε χρειάζεται μια ρουτίνα που θα απομονώνει τα ψηφία του, πράγμα το οποίο θέλει κάποια δουλίτσα...


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Grecs on May 14, 2008, 22:59:09 pm
την poptwo πάντως κι εγώ έτσι την έκανα και δουλεύει... και ναι, πρέπει να τυπώνει 1...

Μπορεις να μουστειλεις το παραδειγμα σου να δω? Γιατι εχω δοκιμασει τα παντα

το .var τι το θέλεις, αφού δε δηλώνεις καμία τοπική μεταβλητή. Βγάλ' το και μάλλον θα δουλέψει κανονικά
Το κανα παλι τα ιδια
καμια ιδεα κανεις?????


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: PallasFTW on May 14, 2008, 23:51:47 pm
Thnx για την απάντηση..απλώς δεν καταλαβαίνω γιατί χρειάζεται να βάλουμε στην στοίβα μια τυχαία σταθερά πριν καλέσουμε κάποια method...Αλλά τώρα που είμαι σίγουρος για την σύνταξη δεν υπάρχει πρόβλημα  :)
@nicole special thnx για το παράδειγμα  ^hat^


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: nicole on May 15, 2008, 00:58:03 am
Στην 3η ασκηση εχω κανει το εξης παραδειγμα:
.main
.var
.end-var
BIPUSH 1
BIPUSH 2
BIPUSH 3
POPTWO
BIPUSH 0x30
IADD
OUT
HALT
.end-main

poptwo1   SP = SP-1;       
poptwo2   MAR = SP = SP-1; rd
poptwo3   
poptwo4   TOS = MDR; goto Main1


αλλα μου εκτυπωνει 3 ενω θα πρεπε να εκτυπωνει 1 σωστα?? δε καταλαβαινω που εχω λαθος

Και γω ακριβώς τα ίδια έκανα και λειτουργεί. Η μόνη διαφορά είναι ότι στην poptwo1 στο τέλος τις μικροεντολής δεν έβαλα ;
αλλά δε νομίζω να φταίει αυτό.
Μάλλον το λάθος θα ναι σε καμιά απροσεξια.. Και γω τη πρωτη φορα που έτρεξα το κώδικα για το τεσταρισμα μου εκτύπωνε το 2 αντι για 1. Τελικά το λάθος μου ήταν κατα την αντιγραφη του κώδικα μεσα στο μικροπρογραμμα. Είχα βάλει MAR=SP-1; rd
αντι για MAR=SP=SP-1; rd

Thnx για την απάντηση..απλώς δεν καταλαβαίνω γιατί χρειάζεται να βάλουμε στην στοίβα μια τυχαία σταθερά πριν καλέσουμε κάποια method...Αλλά τώρα που είμαι σίγουρος για την σύνταξη δεν υπάρχει πρόβλημα  :)
Αυτο που εγω εχω καταλαβει είναι οτι χρειαζομαστε μια θεση στη στοιβα οπου η invokevirtual να μπορει να αποθηκεύσει τη διευθυνση οπου  αποθηκευται ο παλιος PC ωστε να μπορει να επιστρεψει το προγραμμα εκει απ' οπου καλεσε την μέθοδο. Αυτη η θέση ειναι αυτη που καταλαμβανουμε με την τοποθέτηση του objref.
Αυτο όμως που πιο πολυ μας ενδιαφέρει ειναι ότι τελικα μετα το τέλος της μεθόδου και την επιστροφή στη main , στη θέση όπου είχαμε αποθηκεύσει το objref υπάρχει η τιμή που επιστρέφει η μέθοδος.

Ελπίζω να μη σε μπέρδεψα πιο πολυ..


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: captain_AD on May 15, 2008, 01:26:34 am
Καλησπέρα,μια διευκρινιστική ερώτηση θελω να κανω.Ο κώδικας των μεθοδων υπάρχει κάπου ή τον κατασκευάζουμε εμείς?


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: bakeneko on May 15, 2008, 02:05:50 am
Στην 3η ασκηση εχω κανει το εξης παραδειγμα:
.main
.var
.end-var
BIPUSH 1
BIPUSH 2
BIPUSH 3
POPTWO
BIPUSH 0x30
IADD
OUT
HALT
.end-main

poptwo1   SP = SP-1;       
poptwo2   MAR = SP = SP-1; rd
poptwo3   
poptwo4   TOS = MDR; goto Main1


αλλα μου εκτυπωνει 3 ενω θα πρεπε να εκτυπωνει 1 σωστα?? δε καταλαβαινω που εχω λαθος

Και γω ακριβώς τα ίδια έκανα και λειτουργεί. Η μόνη διαφορά είναι ότι στην poptwo1 στο τέλος τις μικροεντολής δεν έβαλα ;
αλλά δε νομίζω να φταίει αυτό.
Μάλλον το λάθος θα ναι σε καμιά απροσεξια.. Και γω τη πρωτη φορα που έτρεξα το κώδικα για το τεσταρισμα μου εκτύπωνε το 2 αντι για 1. Τελικά το λάθος μου ήταν κατα την αντιγραφη του κώδικα μεσα στο μικροπρογραμμα. Είχα βάλει MAR=SP-1; rd
αντι για MAR=SP=SP-1; rd
Δε φαντάζομαι να είναι αυτό το κουλό που θα πω αλλά δοκίμασέ το... Μήπως στο SP-1 θέλει κενά ανάμεσα δλδ να γίνει SP - 1 ...!

Thnx για την απάντηση..απλώς δεν καταλαβαίνω γιατί χρειάζεται να βάλουμε στην στοίβα μια τυχαία σταθερά πριν καλέσουμε κάποια method...Αλλά τώρα που είμαι σίγουρος για την σύνταξη δεν υπάρχει πρόβλημα  :)
Αυτο που εγω εχω καταλαβει είναι οτι χρειαζομαστε μια θεση στη στοιβα οπου η invokevirtual να μπορει να αποθηκεύσει τη διευθυνση οπου  αποθηκευται ο παλιος PC ωστε να μπορει να επιστρεψει το προγραμμα εκει απ' οπου καλεσε την μέθοδο. Αυτη η θέση ειναι αυτη που καταλαμβανουμε με την τοποθέτηση του objref.
Αυτο όμως που πιο πολυ μας ενδιαφέρει ειναι ότι τελικα μετα το τέλος της μεθόδου και την επιστροφή στη main , στη θέση όπου είχαμε αποθηκεύσει το objref υπάρχει η τιμή που επιστρέφει η μέθοδος.

Ελπίζω να μη σε μπέρδεψα πιο πολυ..
Στο βιβλίο λέει ότι δεν τη χρειαζόμαστε ουσιαστικά στην IJVM που κάνουμε εμείς, απλά "έχει διατηρηθεί για λόγους συνέπειας με την JVM". Δηλαδή και να μην το κάνεις το πρόγραμμά σου θα δουλέψει, αλλά το ολόσωστο μάλλον είναι να τη χρησιμοποιήσεις. (Εγώ δε τη χρησιμοποίησα :P )

Καλησπέρα,μια διευκρινιστική ερώτηση θελω να κανω.Ο κώδικας των μεθοδων υπάρχει κάπου ή τον κατασκευάζουμε εμείς?
Τον κατασκευάζουμε εμείς!


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: elen// on May 15, 2008, 11:46:05 am
ευχαριστω wade!μια ακομη ερωτηση:μπορουμε να παραδωσουμε την εργασια μεχρι και αυριο το βραδυ ετσι δεν ειναι?


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Mikros_Nikolas on May 15, 2008, 11:50:50 am
Επίσης κάτι ακόμα..

Για να εμφανίσω 3ψήφιους(1η άσκηση), έκανα μια απλή υλοποίηση(αφαιρώ εκατοντάδες κλπ) η οποία όμως εμφανίζει μόνο αριθμούς μέχρι και το 127.
Πως θα εμφανίσω μεγαλύτερους από 127;
Αυτό είναι το κομμάτι για τις εκατοντάδες

L2: ILOAD num           //num=num-100
BIPUSH 100
ISUB
ISTORE num
ILOAD num
IFLT L1                     //if(num<0) print a
IINC a 1                    //else a+=1; num=num-100
GOTO L2
L1: ILOAD a
BIPUSH 0x30
IADD
OUT

Η ίδια λογική είναι και με τις δεκάδες και τις μονάδες και λειτουργεί...

Οι αριθμοί που χρησιμοποιούμε είναι των 8 bit, άρα από -128 έως 127 ή 0 μέχρι 255. Κάτι παίζει με αυτό, αλλά πως θα πω στο πρόγραμμα ότι έχει να κάνει μόνο με θετικούς;
(ωστε να συμπεριλάβει μέχρι το 255)

Ελπίζω να (ψιλο)γίνομαι κατανοητός...


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: igna on May 15, 2008, 14:04:41 pm
Από -128 μέχρι 127.


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Mikros_Nikolas on May 15, 2008, 14:43:55 pm
Ευχαριστώ, αν και είναι λεπτομέρεια.. :P

Καμιά ιδέα κάποιος;


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: nicole on May 15, 2008, 14:53:41 pm

Οι αριθμοί που χρησιμοποιούμε είναι των 8 bit, άρα από -128 έως 127 ή 0 μέχρι 255. Κάτι παίζει με αυτό, αλλά πως θα πω στο πρόγραμμα ότι έχει να κάνει μόνο με θετικούς;
(ωστε να συμπεριλάβει μέχρι το 255)

Ελπίζω να (ψιλο)γίνομαι κατανοητός...
Τι εννοείς οταν λες οτι οι αριθμοι που χρησιμοποιουμε είναι των 8 bit? αφου τοσο οι καταχωρητες όσο και η μνήμη( στοίβα , δεξαμενή σταθερών κτλ ) είναι των 32 bit. Δλδ πχ μία διεύθυνση στη στοίβα αντιστοιχει σε 4 byte.
Δοκίμασες το πρόγραμμα και δε σου δουλεύει? Με μία γρήγορη ματιά μου φάνηκε σωστό..


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Mikros_Nikolas on May 15, 2008, 14:59:43 pm
Η εντολή BIPUSH για παράδειγμα, αποθέτει ένα byte στην στοίβα.
Όταν χρησιμοποιώ το παραπάνω πρόγραμμα κάνωντας BIPUSH 250 π.χ., δεν λειτουργεί...


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: lekouras on May 15, 2008, 16:01:40 pm


Στελνω το συμπιεσμενο αρχειο rar με το ονομα μου και μου λεει <<μη επιτρεπτο ονομα αρχείου>>.

Ετυχε σε κανενα κατι παρομοιο και μπορει να βοηθησει στο τι φταιει???


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: SarumaN on May 15, 2008, 16:05:02 pm
Μήπως χρησιμοποιείς Ελληνικούς χαρακτήρες; Δοκίμασε με λατινικούς


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Larry_Flynt on May 15, 2008, 16:09:28 pm
Πως εκτυπώνω γαμώτη;

Στην πρώτη εργασία για ν=3 που έχει αποτέλεσμα 6 το βγάζει σωστά στο TOS. Το κάνω OUT και βγάζει παύλα το μαμημένο!


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: lekouras on May 15, 2008, 16:18:03 pm
Μήπως χρησιμοποιείς Ελληνικούς χαρακτήρες; Δοκίμασε με λατινικούς

Ναι! δεν ηθελα να δοκιμασω με λατινικουσ μηπως κανω μλκια!


ΕΣΤΑΛΗ...ΘΕΝΚΣ


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: bakeneko on May 15, 2008, 16:21:59 pm
Επίσης κάτι ακόμα..

Για να εμφανίσω 3ψήφιους(1η άσκηση), έκανα μια απλή υλοποίηση(αφαιρώ εκατοντάδες κλπ) η οποία όμως εμφανίζει μόνο αριθμούς μέχρι και το 127.
Πως θα εμφανίσω μεγαλύτερους από 127;
Αυτό είναι το κομμάτι για τις εκατοντάδες

L2: ILOAD num           //num=num-100
BIPUSH 100
ISUB
ISTORE num
ILOAD num
IFLT L1                     //if(num<0) print a
IINC a 1                    //else a+=1; num=num-100
GOTO L2
L1: ILOAD a
BIPUSH 0x30
IADD
OUT

Η ίδια λογική είναι και με τις δεκάδες και τις μονάδες και λειτουργεί...

Οι αριθμοί που χρησιμοποιούμε είναι των 8 bit, άρα από -128 έως 127 ή 0 μέχρι 255. Κάτι παίζει με αυτό, αλλά πως θα πω στο πρόγραμμα ότι έχει να κάνει μόνο με θετικούς;
(ωστε να συμπεριλάβει μέχρι το 255)

Ελπίζω να (ψιλο)γίνομαι κατανοητός...
Υποθέτω ότι όταν ξεκινάς να κάνεις τις δεκάδες κάνεις με ILOAD num. Το λάθος είναι ότι , αν είχες το αριθμό 130 π.χ., όταν πας στις δεκάδες ο num θα έχει την τιμή -70 και όχι 30 (που θέλεις).
Στην τελευταία λούπα:
L2: ILOAD num    // num = 30
BIPUSH 100
ISUB
ISTORE num      //num =-70
ILOAD num
IFLT L1                     //πάει στις δεκάδες
[...]
δεκάδες:
ILOAD num   //num =-70
κτλ.


Πάντως το σίγουρο είναι ότι δεν έχει καμία σχέση με τα bits κτλ...


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Mikros_Nikolas on May 15, 2008, 16:28:45 pm
Δεν είναι αυτό, κάνω num=num+100 πριν κάνω ILOAD num για τις δεκάδες.
Το ίδιο και μετά με τις μονάδες (num=num+10)
Έπρεπε να το συμπεριλάβω στο post μου.


Συνεχίζω να πιστεύω ότι παίζει αυτό με με τα bits...


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: bakeneko on May 15, 2008, 16:33:48 pm
μήπως δεν αρχικοποιείς το a με την τιμή 0;


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Larry_Flynt on May 15, 2008, 16:34:44 pm
Από τον compiler ΠΩΣ βλέπεις ΠΟΥ έχεις λάθος;


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Mikros_Nikolas on May 15, 2008, 16:36:59 pm
μήπως δεν αρχικοποιείς το a με την τιμή 0;

Και αυτό το κάνω... Ελλειπής ο κώδικας που παρέθεσα, συγγνώμη.
Ευχαριστώ για το ενδιαφέρον. :)

Από τον compiler ΠΩΣ βλέπεις ΠΟΥ έχεις λάθος;

Βγάζει στο command prompt την γραμμή στην οποία υπάρχει το λάθος


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Larry_Flynt on May 15, 2008, 16:41:10 pm
Μου βγάζει κάτι 2000 και 4000 , εγώ έχω μέχρι 80


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: bakeneko on May 15, 2008, 17:04:53 pm
μήπως δεν αρχικοποιείς το a με την τιμή 0;

Και αυτό το κάνω... Ελλειπής ο κώδικας που παρέθεσα, συγγνώμη.
Ευχαριστώ για το ενδιαφέρον. :)

Παρακαλώ, αύριο μεθαύριο θα με βοηθήσεις εσύ :P

Πιστεύω ότι βρήκα το λάθος... Βασικά δεν υπάρχει :P απλά δε γίνεται να κάνεις BIPUSH κατευθείαν αριθμό μεγαλύτερο από 127, όμως σε μία μεταβλητή μπορείς να έχεις αποθηκευμένο και μεγαλύτερο αριθμό. Δοκίμασε να αποθηκεύσεις έναν μεγαλύτερο αριθμό με
BIPUSH 126
BIPUSH 126
IADD
ISTORE num
για παράδειγμα, και θα δεις ότι ο κώδικάς σου για την εκτύπωση δουλεύει μια χαρά :) (αν έχεις κάνει και τα υπόλοιπα έτσι όπως φαντάζομαι!)


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: bakeneko on May 15, 2008, 17:07:23 pm
Πως εκτυπώνω γαμώτη;

Στην πρώτη εργασία για ν=3 που έχει αποτέλεσμα 6 το βγάζει σωστά στο TOS. Το κάνω OUT και βγάζει παύλα το μαμημένο!
Για έναν μονοψήφιο θετικό αριθμό αρκεί να κάνεις
ILOAD x
BIPUSH 0x30
IADD
OUT
Πίνακας με τις αντιστοιχίες δεκαδικών-δεκαεξαδικών-ASCII: http://www.asciitable.com/


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: soso on May 15, 2008, 17:16:29 pm
Το πρόγραμμά μου δε τρέχει
(άσκηση 1)
Quote
.main

.var
NUM 0
TOTAL 0
.end-var


until:
ILOAD NUM
IINC NUM 1
BUPUSH 0Χ30
IADD
OUT

ILOAD TOTAL
IADD
ISTORE TOTAL
BIPUSH 20
ILOAD START
IF_ICMPEQ
GOTO until

BIPUSH 0Χ30
IADD
OUT


.end-main

Μή δίνεται σημασία στις εκτυπώσεις, δεν ασχολήθηκα ακόμα με αυτό


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: bakeneko on May 15, 2008, 17:18:14 pm
Δε νομίζω ότι μπορείς να δίνεις αρχικές τιμές στις μεταβλητές με αυτόν τον τρόπο:
.var
NUM 0
TOTAL 0
.end-var


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: soso on May 15, 2008, 17:22:50 pm
δίκιο έχεις, το είδα στις σταθερές και χάρηκα. Damn it!!!


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: soso on May 15, 2008, 17:31:08 pm
Πρόγραμμα τρέχει αλλά διαρκεί αιώνια, αυτό

Quote
BIPUSH 20
ILOAD NUM
IF_ICMPEQ
GOTO until

είναι σωστό??


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: tioakeim on May 15, 2008, 17:31:34 pm
Θέλω βοήθεια για τη τρίτη εργασία

Στην σελίδα 64 του pdf που υπάρχει στο ethmmy δίνει οδηγίες για το πως να γράφουμε τις δικές μας μικροεντολές. Λέει να γράψουμε το μικροκώδικα μας και να το αποθηκεύσουμε σε ένα αρχείο .mal εν συνεχεία να το τρέξουμε με τον assembler για να πάρουμε ένα αρχείο .mic1, ακολούθως να γράψουμε ένα παράδειγμα σε .jas  να το μετατρέπουμε σε .ijvm και να το τρέχουμε με το mic1sim και το .mic1 αρχείο που παράγαμε

Ωραία, εγώ έχω φτιάξει την POPTWO την αποθηκεύω σε .mal και παράγω ένα .mic1 αρχείο. Στη συνέχεια γράφω ένα παράδειγμα σε .jas πάω να το τρέξω και μου βγάζει error: POPTWO invalid instruction. Τις πταίει???


Σκέφτηκα να προσθέσω τον μικροκώδικα στο αρχείο mic1ijvm.mal αλλά θέλει να βάλω label και για να βάλω label πρέπει να γνωρίζω τον opcode (τις μορφής 0x58 πχ) που δεν τον γνωρίζω

Εσείς πως προσθέσατε τον μικροκώδικα;


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: elen// on May 15, 2008, 17:40:54 pm
μπορει καποιος να μου επιβεβαιωσει το εξης μεχρι αυριο βραδυ δεν δινουμε τις εργασιες?μου ειπαν οτι ειναι μεχρι σημερα αλλα δεν νομιζω να ισχυει αυτο...ευχαριστω προκαταβολικα


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: bakeneko on May 15, 2008, 17:43:27 pm
Πρόγραμμα τρέχει αλλά διαρκεί αιώνια, αυτό

Quote
BIPUSH 20
ILOAD NUM
IF_ICMPEQ
GOTO until

είναι σωστό??
Δεν τσέκαρα όλο τον κώδικά σου, αλλά όσον αφορά το συγκεκριμένο σημείο (αν έχω καταλάβει καλά τι θες να κάνεις) πρέπει να γίνει:

IF_ICMPEQ label
GOTO until

label:
BIPUSH 0Χ30
IADD
OUT

και εκεί που θες να τερματίζει το πρόγραμμα (φυσιολογικά πριν το .end-main) βάζεις την εντολή HALT


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Mikros_Nikolas on May 15, 2008, 17:44:18 pm
μήπως δεν αρχικοποιείς το a με την τιμή 0;

Και αυτό το κάνω... Ελλειπής ο κώδικας που παρέθεσα, συγγνώμη.
Ευχαριστώ για το ενδιαφέρον. :)

Παρακαλώ, αύριο μεθαύριο θα με βοηθήσεις εσύ :P

Πιστεύω ότι βρήκα το λάθος... Βασικά δεν υπάρχει :P απλά δε γίνεται να κάνεις BIPUSH κατευθείαν αριθμό μεγαλύτερο από 127, όμως σε μία μεταβλητή μπορείς να έχεις αποθηκευμένο και μεγαλύτερο αριθμό. Δοκίμασε να αποθηκεύσεις έναν μεγαλύτερο αριθμό με
BIPUSH 126
BIPUSH 126
IADD
ISTORE num
για παράδειγμα, και θα δεις ότι ο κώδικάς σου για την εκτύπωση δουλεύει μια χαρά :) (αν έχεις κάνει και τα υπόλοιπα έτσι όπως φαντάζομαι!)

 ^hello^ ^hello^ ^hello^ ^hello^ ^hello^ ^hello^ ^hello^ ^notworthy^ ^notworthy^ ^filarakia^

Ευχαριστώ ρε! Αυτό ήταν. Μόλις πόσταρες το έλυσα και μετά ψιλοκόλλησα να το βάλω στο κανονικό πρόγραμμα, για αυτό άργησα να απαντήσω..

Τι σου κάνει το καθαρό μυαλό ρε, να'σαι καλά!


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: bakeneko on May 15, 2008, 17:47:29 pm
Θέλω βοήθεια για τη τρίτη εργασία

Στην σελίδα 64 του pdf που υπάρχει στο ethmmy δίνει οδηγίες για το πως να γράφουμε τις δικές μας μικροεντολές. Λέει να γράψουμε το μικροκώδικα μας και να το αποθηκεύσουμε σε ένα αρχείο .mal εν συνεχεία να το τρέξουμε με τον assembler για να πάρουμε ένα αρχείο .mic1, ακολούθως να γράψουμε ένα παράδειγμα σε .jas  να το μετατρέπουμε σε .ijvm και να το τρέχουμε με το mic1sim και το .mic1 αρχείο που παράγαμε

Ωραία, εγώ έχω φτιάξει την POPTWO την αποθηκεύω σε .mal και παράγω ένα .mic1 αρχείο. Στη συνέχεια γράφω ένα παράδειγμα σε .jas πάω να το τρέξω και μου βγάζει error: POPTWO invalid instruction. Τις πταίει???


Σκέφτηκα να προσθέσω τον μικροκώδικα στο αρχείο mic1ijvm.mal αλλά θέλει να βάλω label και για να βάλω label πρέπει να γνωρίζω τον opcode (τις μορφής 0x58 πχ) που δεν τον γνωρίζω

Εσείς πως προσθέσατε τον μικροκώδικα;
Επεξεργάζεσαι το mic1ijvm.mal, opcode βάζεις ότι θες -αρκεί να μη χρησιμοποιείται από άλλη μικροεντολή, και τέλος ανοίγεις το ijvm.conf και το επεξεργάζεσαι κατάλληλα (προσθέτεις δλδ. το opcode και την εντολή με αντίστοιχο τρόπο όπως οι προηγούμενες εντολές στο αρχείο)...


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: soso on May 15, 2008, 18:15:07 pm
Δε μας εξηγείται και μας λίγο πιο απλά για την εκτύπωση?? Γιατί εμένα μου εκτυπώνει το άθροισμα στην άσκηση 1 ίσο με 3/4


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Larry_Flynt on May 15, 2008, 18:36:38 pm
Ποιος είναι ο ASCII που αλλάζει γραμμή;


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Mikros_Nikolas on May 15, 2008, 19:10:07 pm
http://www.asciitable.com/

Υπάρχουν εδώ όλα..

Αυτό που ζητάς είναι στο δεκαδικό (dec) το 10


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: tioakeim on May 15, 2008, 19:12:03 pm
Θέλω βοήθεια για τη τρίτη εργασία

Στην σελίδα 64 του pdf που υπάρχει στο ethmmy δίνει οδηγίες για το πως να γράφουμε τις δικές μας μικροεντολές. Λέει να γράψουμε το μικροκώδικα μας και να το αποθηκεύσουμε σε ένα αρχείο .mal εν συνεχεία να το τρέξουμε με τον assembler για να πάρουμε ένα αρχείο .mic1, ακολούθως να γράψουμε ένα παράδειγμα σε .jas  να το μετατρέπουμε σε .ijvm και να το τρέχουμε με το mic1sim και το .mic1 αρχείο που παράγαμε

Ωραία, εγώ έχω φτιάξει την POPTWO την αποθηκεύω σε .mal και παράγω ένα .mic1 αρχείο. Στη συνέχεια γράφω ένα παράδειγμα σε .jas πάω να το τρέξω και μου βγάζει error: POPTWO invalid instruction. Τις πταίει???


Σκέφτηκα να προσθέσω τον μικροκώδικα στο αρχείο mic1ijvm.mal αλλά θέλει να βάλω label και για να βάλω label πρέπει να γνωρίζω τον opcode (τις μορφής 0x58 πχ) που δεν τον γνωρίζω

Εσείς πως προσθέσατε τον μικροκώδικα;
Επεξεργάζεσαι το mic1ijvm.mal, opcode βάζεις ότι θες -αρκεί να μη χρησιμοποιείται από άλλη μικροεντολή, και τέλος ανοίγεις το ijvm.conf και το επεξεργάζεσαι κατάλληλα (προσθέτεις δλδ. το opcode και την εντολή με αντίστοιχο τρόπο όπως οι προηγούμενες εντολές στο αρχείο)...
Ευχαριστώ πολύ, δούλεψε ^hello^ ^hello^

Πως λέτε να βαθμολογεί ο Πέτρου; Εγώ έκανα τις δύο απ' τις τρεις εργασίες - την πρώτη δεν με βλέπω να την κάνω. Ελπίζω να με βάλει ένα πενταράκι δεν έχω όρεξη να ξαναπεράσω τον ίδιο γολγοθά :P


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Larry_Flynt on May 15, 2008, 19:53:47 pm
Όταν πάω να κάνω compile τον τρίτο κώδικα που τεστάρει την poptwo μου βγάζει οτι δεν υπάρχει η εντολή. Γιατί;


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Larry_Flynt on May 15, 2008, 20:01:56 pm
Α, έπρεπε να πειράξω το γ****ο το igvm.conf


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Wade on May 15, 2008, 20:25:23 pm
Δε μας εξηγείται και μας λίγο πιο απλά για την εκτύπωση?? Γιατί εμένα μου εκτυπώνει το άθροισμα στην άσκηση 1 ίσο με 3/4

Κατ' αρχάς, καλό είναι πρώτα να δοκιμάσεις τον κώδικα για ν=3, για να είναι μονοψήφιο το αποτέλεσμα και να δεις αν σίγουρα τρέχει σωστά ο αλγόριθμος.  Για να εκτυπώσεις έναν μονοψήφιο αριθμό ο οποίος είναι ήδη στην κορυφή της στοίβας, κάνεις πρώτα BIPUSH 0x30, μετά ADD και τότε μπορείς να κάνεις την OUT.

Τώρα για την εκτύπωση του τριψήφιου αριθμού που ζητείται: Πρώτα, πρέπει  να γίνει μια ρουτίνα για να απομονωθούν τα τρία ψηφία.  Ένας τρόπος για να γίνει αυτό είναι με διαδοχικές αφαιρέσεις του 100.  Πιο συγκεκριμένα, αν έχεις έναν τριψήφιο αριθμό στην κορυφή της στοίβας, δημιουργείς μια μεταβλητή και την αρχικοποιείς σε 0.  Έπειτα, κάνεις έναν επαναληπτικό βρόχο μέσα στον οποίο αφαιρείς το 100 από τον τριψήφιο αριθμό, και σε κάθε αφαίρεση ελέγχεις αν ο αριθμός παραμένει μεγαλύτερος του μηδενός.  Αν ναι, αυξάνεις τη μεταβλητή-δείκτη κατά 1.  Αν όχι, βγαίνεις από τον επαναληπτικό βρόχο.  Επαναλαμβάνεις την ίδια διαδικασία για τις δεκάδες.  Έπειτα, όταν ολοκληρωθεί και η εκτύπωση των δεκάδων, μπορείς να εκτυπώσεις τις μονάδες χωρίς κανένα πρόβλημα.


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Larry_Flynt on May 15, 2008, 21:23:19 pm
Στην αναφορά γράψατε πολλά;

Έκανα 6 σελιδούλες σύνολο και βλέπω άσκοπο να γράψω παραπάνω.


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: a on May 15, 2008, 21:40:13 pm
Εαν δεν την δωσουμε μεχρι αυριο, η επομενη ευκαιρια ειναι το Σεπτεμβριο ή σε ενα χρονο?


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Mikros_Nikolas on May 15, 2008, 21:49:21 pm
Στην αναφορά γράψατε πολλά;

Έκανα 6 σελιδούλες σύνολο και βλέπω άσκοπο να γράψω παραπάνω.

!!!!!
Ρε παιδιά εγώ σε κάθε άσκηση έβαλα και ένα αρχείο txt όπου περιγράφω περιληπτικά τι έχω κάνει και που συνάντησα δυσκολία.
Έχω και σχόλια μέσα στα προγράμματα. Και μου φαίνονται υπεραρκετά...
(Έτσι κι αλλιώς, στην εξέταση για αυτά δεν θα μας ρωτήσουν;)


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Larry_Flynt on May 15, 2008, 21:50:32 pm
Το στέλνω όπως είναι, βαρέθηκα να γράφω σχόλια.


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: pthomaid on May 15, 2008, 22:11:25 pm
Τι πρέπει να κάνω για να μου αναγνωρίσει την poptwo και να κάνει compile το πρόγραμμα μου?
Γιατί έχω καεί και άκρη δεν βγάζω >:(
τοποθέτησα αυτό
...
.label   isub1      0x64
.label   poptwo1   0x67
.label   iand1      0x7E
.label   iinc1      0x84
...

και αυτό
...
poptwo1 SP = SP - 1;         
poptwo2 MAR = SP = SP - 1;rd      
poptwo3                            
poptwo4 TOS = MDR; goto Main1   
...
στο αρχείο mic1ijvm.mal το έκανα και compile
αλλά δεν μου κάνει compile το μακροπρόγραμμα


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Wade on May 15, 2008, 22:16:39 pm
Πρέπει να τροποποιήσεις και το ijvm.conf.  Άνοιξέ το με κάποιον editor και πρόσθεσε την POPTWO με το opcode που διάλεξες ;)


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Nelly on May 15, 2008, 23:03:53 pm
Οταν χρησιμοποιούμε την ISUB με ποια σειρά βγαίνει η διαφορά;
π.χ.

BIPUSH 3
ΒIPUSH 5
ISUB

Αυτό θα είναι 3-5 ή 5-3;


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: PallasFTW on May 15, 2008, 23:09:45 pm
με το isub αφαιρειται το πανω στοιχειο της στοιβας απο το το κατω δλδ αυτο που κανειςILOAD/BIPUSH πρωτο ειναι ο μειωτεος και αυτο που κανει δευτερο αφαιρετεος.

και  πιο χειροπιαστα:
  ILOAD X
  ILOAD Y
  ISUB

ειναι X-Y  επειδη μπορει και να μπερδευτικα ας ποσταρει καποιος αν το εχω αναποδα  ::)



Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Nelly on May 15, 2008, 23:13:43 pm
Ευχαριστώ και εγώ έτσι το κατάλαβα αλλά δεν ήμουν σίγουρη.


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: soso on May 15, 2008, 23:27:47 pm
Να σας ζαλίσω και γω λίγο, για την άσκηση 1 με ν=3 λειτουργεί το προγραμμα μου αλλά όταν χωρίζω ψηφία και πάω να το κάνω compile μου βγάζει αυτό:
(http://www.core-studios.net/capoeirista.gr/soso/errormic1.JPG)

Έχω βαρεθεί να κοιτάω τον κώδικα

Quote
digit1:
ILOAD TOTAL
BIPUSH 100
ISUB
ISTORE DIFF
ILOAD DIFF
IFLT digit2
IINC DIG1 1
ILOAD TOTAL
BIPUSH 100
ISUB
ISTORE TOTAL
GOTO digit1

digit2:
ILOAD TOTAL
BIPUSH 10
ISUB
ISTORE DIFF
IFLT end
IINC DIG2 1
ILOAD TOTAL
BIPUSH 10
ISUB
ISTORE TOTAL
GOTO digit2

end:
ILOAD DIG1
BIPUSH 0Χ30
IADD
OUT
ILOAD DIG2
BIPUSH 0Χ30
IADD
OUT
ILOAD TOTAL
BIPUSH 0Χ30
IADD
OUT
HALT


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: soso on May 15, 2008, 23:30:32 pm
πωπω τι βλακεια!!!
απλά έβαζα 0Χ30 με Χ κεφαλαίο

ουπς

Σορρυ


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: pthomaid on May 16, 2008, 01:01:46 am
Ευχαριστώ Wade   ::) 


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: portinos on May 16, 2008, 11:29:23 am
Με την ISUB αφαιρείται το στοιχείο που μπήκε πρώτο στη στοίβα από το στοιχείο που μπήκε δεύτερο στη στοίβα, δηλαδή θα είναι:
 
ILOAD X
ILOAD Y
ISUB

το αποτέλεσμα θα είναι Y-X


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Wade on May 16, 2008, 11:49:02 am
Με την ISUB αφαιρείται το στοιχείο που μπήκε πρώτο στη στοίβα από το στοιχείο που μπήκε δεύτερο στη στοίβα, δηλαδή θα είναι:
 
ILOAD X
ILOAD Y
ISUB

το αποτέλεσμα θα είναι Y-X

Εγώ νομίζω πως είναι X-Y... 


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Finrond on May 16, 2008, 11:51:24 am
Με την ISUB αφαιρείται το στοιχείο που μπήκε πρώτο στη στοίβα από το στοιχείο που μπήκε δεύτερο στη στοίβα, δηλαδή θα είναι:
 
ILOAD X
ILOAD Y
ISUB

το αποτέλεσμα θα είναι Y-X

Εγώ νομίζω πως είναι X-Y... 

+1


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: elmakal on May 16, 2008, 12:13:40 pm
παιδιά μηπως ξέρει κανείς μέχρι τι ώρα είναι η παράδοση?Λογικά μέχρι το βράδυ?


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Nikiforos on May 16, 2008, 13:29:01 pm
Με την ISUB αφαιρείται το στοιχείο που μπήκε πρώτο στη στοίβα από το στοιχείο που μπήκε δεύτερο στη στοίβα, δηλαδή θα είναι:
 
ILOAD X
ILOAD Y
ISUB

το αποτέλεσμα θα είναι Y-X

Εγώ νομίζω πως είναι X-Y... 

+1
X - Y είναι σίγουρα


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: soso on May 16, 2008, 13:57:09 pm
Με την ISUB αφαιρείται το στοιχείο που μπήκε πρώτο στη στοίβα από το στοιχείο που μπήκε δεύτερο στη στοίβα, δηλαδή θα είναι:
 
ILOAD X
ILOAD Y
ISUB

το αποτέλεσμα θα είναι Y-X

Εγώ νομίζω πως είναι X-Y... 

+1
X - Y είναι σίγουρα

Επιβεβαιώνω και γω που το έψαξα στις σημειώσεις. Είναι Χ-Υ


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: vag on May 16, 2008, 15:48:45 pm
doc είναι το συμπιεσμένο που στέλνουμε έτσι?
δε στείλατε *.jas και *.ijvm κλπ μέσα?


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: pthomaid on May 16, 2008, 15:54:03 pm
κι εγώ έτσι έλεγα στην αρχή αλλά τελικά έστειλα χώρια τα screenshots και τον κώδικα, doc, jas και jpeg


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: leon-SPT on May 16, 2008, 16:32:04 pm
Παιδιά όταν ανοίγω να κάνω το Mic1sim για να κανω load microprogram  και βάζω το παράδειγμα που έχει στις σημειώσεις, μου βγάζει αυτόματα στην επιλογή PC 0xFFFFFF.. ξέρετε τι μπορεί να φταίει , γιατί νομίζω αυτό φταιει που δεν μπορώ να τρέξω το πρόγραμμα....


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Nelly on May 16, 2008, 16:42:35 pm
Οταν μέσα στις σημειώσεις λέει στην περιγραφή μιας εντολής "αποσύρει" εννοεί ότι τη βγάζει απο τη στοίβα έτσι δεν είναι;

Ακόμα και όταν κάνουμε OUT?


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: PallasFTW on May 16, 2008, 16:56:58 pm
Όταν λέει μη επιτρεπτό όνομα αρχείου όταν προσπαθώ να ανεβάσω την εργασία τι εννοεί???? :o


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: PallasFTW on May 16, 2008, 17:03:17 pm
οκ οκ διαβασα τρεις σελίδεσ πίσω και καταλαβα το λάθος μου... :P


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Nikiforos on May 16, 2008, 17:05:44 pm
Οταν μέσα στις σημειώσεις λέει στην περιγραφή μιας εντολής "αποσύρει" εννοεί ότι τη βγάζει απο τη στοίβα έτσι δεν είναι;

Ακόμα και όταν κάνουμε OUT?
Ναι ακόμα και στο istore (δεν κάνει απλά αντιγραφή!)


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: leon-SPT on May 16, 2008, 17:09:34 pm
Παιδιά όταν ανοίγω να κάνω το Mic1sim για να κανω load microprogram  και βάζω το παράδειγμα που έχει στις σημειώσεις, μου βγάζει αυτόματα στην επιλογή PC 0xFFFFFF.. ξέρετε τι μπορεί να φταίει , γιατί νομίζω αυτό φταιει που δεν μπορώ να τρέξω το πρόγραμμα....

Παιδια ας το δει καποιος..


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: gagas on May 16, 2008, 18:08:28 pm
πως τροποποιουμε το .ijvm.conf   για το τριτο ερωτημα?:

εμενα δεν μου ανοιγει...βοηθεια.....!!


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Wade on May 16, 2008, 18:22:24 pm
πως τροποποιουμε το .ijvm.conf   για το τριτο ερωτημα?:

εμενα δεν μου ανοιγει...βοηθεια.....!!

Δεξί κλικ -> άνοιγμα με σημειωματάριο μάλλον...


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: pthomaid on May 16, 2008, 18:23:33 pm
Παιδιά όταν ανοίγω να κάνω το Mic1sim για να κανω load microprogram  και βάζω το παράδειγμα που έχει στις σημειώσεις, μου βγάζει αυτόματα στην επιλογή PC 0xFFFFFF.. ξέρετε τι μπορεί να φταίει , γιατί νομίζω αυτό φταιει που δεν μπορώ να τρέξω το πρόγραμμα....

Φυσιολογικό είναι. Και σε μένα αυτό κάνει... Αν δεν σου τρέχει τότε δεν φταίει αυτό.

πως τροποποιουμε το .ijvm.conf   για το τριτο ερωτημα?:

εμενα δεν μου ανοιγει...βοηθεια.....!!

Πως προσπάθησες να το ανοίξεις; Εγώ κανονικά με το wordpad το άνοιξα. Όπως και το .mal


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: gagas on May 16, 2008, 19:03:25 pm
κανω δεξι κλικ αλλα δεν εχει επιλογη ανοιγμα..


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: Wade on May 16, 2008, 19:13:50 pm
Μήπως αν ανοίξεις πρώτα το σημειωματάριο και μετά κάνεις open το αρχείο;


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: gagas on May 16, 2008, 19:15:43 pm
εχεις απολυτο δικαιο...!


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: MARIOS on May 16, 2008, 20:30:03 pm
Να σας πω είναι υποχρεοτκά τα σχόλια για την εργασία????

Εγώ δεν έχω βάλει τίποτα.Μόνο τα προγράμματα και τα screenshots.


Title: Re: [Αρχιτεκτονική Υπ.] Απορίες πάνω στις Εργασίες 2008
Post by: glika on May 16, 2008, 20:58:29 pm
οταν αφαιρω το 100 για τις εκατονταδες στην πρωτη ασκηση το δεχεται στον tos σαν 0x0....
κατι αλλο... χρησιμοποιησα το in για την εισοδο του αριθμου αλλα δεχεται μονο μονοψηφιους