ΗΜΥ 213. Εργαστήριο Οργάνωσης Η.Y. και Μικροεπεξεργαστών. Ασκήσεις: week3 και week4. Διδάσκων: Δρ. Γιώργος Ζάγγουλος

Σχετικά έγγραφα
ΗΜΥ 213 Εργαστήριο Οργάνωσης Η.Y. και Μικροεπεξεργαστών week3

ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών Παρουσίαση Εργαστηρίου 3 ιδάσκων: ρ. ρ. Γιώργος Ζάγγουλος

ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών

ΗΜΥ 213 Εργαστήριο Οργάνωσης Η.Y.και Μικροεπεξεργαστών

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

ΗΜΥ 213. Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών LAB 1 ( )

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

ΗΜΥ Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

Λύσεις 1 ης Ενδιάμεσης Εξέτασης στο ΗΜΥ213

Λύσεις 1 ης Ενδιάμεσης Εξέτασης στο ΗΜΥ213

Μετατροπή χαρακτήρων ASCII σε ακέραιο αριθµό (atoi) & Άνοιγµα αρχείου µέσα από τo QtSPIM, διάβασµα, και αποθήκευση του περιεχοµένου του στη µνήµη

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

ΗΜΥ 213. Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών. Διδάσκων: Δρ. Γιώργος Ζάγγουλος

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Μικροεπεξεργαστών MIPS-32. Αρχείο καταχωρητών και Χάρτης Μνήµης

Μετατροπή χαρακτήρων ASCII σε αριθμό (atoi) & διάβασμα, και αποθήκευση του περιεχομένου του στη μνήμη. (Διάλεξη. Πανεπιστήμιο Κύπρου

ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών

Ορισµός της Στοίβας Περίληψη H λειτουργία της Στοίβας (γενικά, αλλά και στο QtSpim pim) Η χρησιµότητα της Στοίβας στους Μικροεπεξεργαστές Κλήση συνάρτ

ΗΜΥ 213. Εργαστήριο Οργάνωσης Η.Y. και Μικροεπεξεργαστών week 5. Διδάσκων: Δρ. Γιώργος Ζάγγουλος

Αρχιτεκτονική Υπολογιστών Ι

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

Προτεινόμενες Λύσεις 1 ης Ενδιάμεσης Εξέτασης στο ΗΜΥ213 & Αποτελέσματα

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών. Βοήθημα εκτέλεσης εργαστηριακής άσκησης 3: Εντολές λογικών πράξεων και εντολές κλήσης ρουτινών

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών

Λύσεις 2 ης Ενδιάμεσης Εξέτασης στο ΗΜΥ213

Προγραμματιστικό Περιβάλλον

1. Από το κεντρικό site του Ιδρύματος επιλέγουμε το σύνδεσμο "Γραμματείες Τμημάτων".

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ασκήσεις 7: Πρόγραμμα Συνδεδεμένης Λίστας και Διαδικασιών. Μανόλης Γ.Η.

Υπολογισμός - Συλλογή Δεδομένων - Πίνακες

ΠΕΚ ΤΡΙΠΟΛΗΣ ΕΠΙΜΟΡΦΩΣΗ ΕΚΠ/ΚΩΝ ΠΕ19,20 ΗΜ/ΝΙΑ ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος

ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 3 ο

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Συμβόλαιο Μαθήματος. Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών ΗΜΥ 213. Χρήση Ηλεκτρονικού Υπολογιστή. Αναμενόμενα Αποτελέσματα Μαθήματος

Αρχιτεκτονική Υπολογιστών Ι

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ομή Επανάληψης

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος

Δρ. Παναγιώτης Μ. Παπάζογλου Επίκουρος Καθηγητής ΤΕΙ Λαμίας. Διδακτικό βοήθημα γρήγορης μελέτης για τον προγραμματισμό του μικροεπεξεργαστή MIPS 32bit

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

ΗΜΥ 213 Εργαστήριο Οργάνωσης Η/Υ και Μικροεπεξεργαστών Εαρινό εξάμηνο Διδάσκων: Γιώργος Ζάγγουλος

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο: 5 Αριθμητικές Εντολές

Τρόποι Διευθυνσιοδότησης

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 1. Χειμερινό Εξάμηνο

Projects στο Εργαστήριο Αρχιτεκτονικής Υπολογιστών Version 2 Ισχύει από Φεβρουάριο 2009

Πληροφορική 2. Δομές δεδομένων και αρχείων

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

i 1 Όσο i <> 100 επανάλαβε i i + 2 Γράψε A[i] Τέλος_επανάληψης

8.4. Δραστηριότητες - ασκήσεις

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

Η Δομή Επανάληψης. Εισαγωγή στην δομή επανάληψης Χρονική διάρκεια: 3 διδακτικές ώρες

1 η Εργαστηριακή Άσκηση MATLAB Εισαγωγή

Εισαγωγή στη γλώσσα προγραμματισμού Fortran 95

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης Τα Εργαστηριακά Προγράμματα. Η δομή Επιλογής στη PASCAL. H δομή Επανάληψης στη PASCAL. Η εντολή επανάληψης for

Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 2 ο Σύντομη Επανάληψη. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στην Python και στο IDLE

Προηγμένοι Μικροεπεξεργαστές. Εργαστήριο 4 - Editor

Εργαστήριο 5. Εαρινό Εξάμηνο

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 2 Εντολές Εισόδου/Εξόδου Τελεστές. Δρ. Γιώργος Λαμπρινίδης 23/10/2015 Η - Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1

Βρόχοι. Εντολή επανάληψης. Το άθροισμα των αριθμών 1 5 υπολογίζεται με την εντολή. Πρόβλημα. Πώς θα υπολογίσουμε το άθροισμα των ακέραιων ;

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Προγραμματισμός Η/Υ (ΤΛ2007 )

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Εργαστήριο 4. Εαρινό Εξάμηνο ΠΡΟΣΟΧΗ: Αρχίστε νωρίς το Εργαστήριο 4. Οι ασκήσεις είναι πιο απαιτητικές από τα προηγούμενα εργαστήρια.

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

viii. Α[7] Α[1] Α[3] + Α[8] 2. Δίνεται οι παρακάτω πίνακες ακεραίων Α και Β

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Kεφάλαιο 11 Λίστες και Ανάλυση Δεδομένων Kεφάλαιο 12 Εργαλεία ανάλυσης πιθανοτήτων Kεφάλαιο 13 Ανάλυση δεδομένων...

Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής. Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 2 ο Σύντοµη Επανάληψη

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 2)

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Τομέας Υλικού και Αρχιτεκτονικής Υπολογιστών ΗΥ134 - Εισαγωγή στην Οργάνωση και Σχεδίαση Η/Υ 1. Εργαστήριο 6. Εαρινό Εξάμηνο

Κατανεμημένα Συστήματα

Προγραμματισμός I (Θ)

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

Παραδείγματα Assembly Μέρος Γ

9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers. Αποθηκευμένες Διαδικασίες (Stored Procedures):

Αικατερίνη Καμπάση, PhD. Τμήμα Προστασίας και Συντήρησης Πολιτισμικής Κληρονομιάς Α.Τ.Ε.Ι. Ιονίων Νήσων

Προγραμματισμός Υπολογιστών & Εφαρμογές Python. Κ.Π. Γιαλούρης

Λειτουργικά Συστήματα

Εισαγωγή Συμβόλαιο Μαθήματος

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Transcript:

ΗΜΥ 213 Εργαστήριο Οργάνωσης Η.Y. και Μικροεπεξεργαστών Ασκήσεις: week3 και week4 Διδάσκων: Δρ. Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy www.ece.ucy.ac.cy/courses/ece213

Ορίσματα στο QtSpim (set parameters in QtSpim) Τα ορίσματα στο QtSPIM μπορούν να δοθούν από την επιλογή Run Parameters που βρίσκεται στο μενού simulator στον προσομοιωτή QtSpim. Το αποτέλεσμα της πιο πάνω ενέργειας είναι η αλλαγή στην τιμή του καταχωρητή $a0, ο οποίος θα πάρει το πλήθος των ορισμάτων που δώσαμε (διαχωρισμένα μεταξύ τους με κενό). Μέσω του καταχωρητή $a1, μπορούμε να βρούμε τη διεύθυνση στην οποία έχει αποθηκευτεί το κάθε όρισμα (ως 32-μπιτος αριθμός) $a0 = 2 έχει το πλήθος ορισμάτων $a1 = δείκτης μνήμης, έχει την αρχική διεύθυνση όπου αποθηκεύτηκε το 1 ο όρισμα (όνομα του αρχείου) 4($a1) =δείκτης μνήμης έχει την αρχική διεύθυνση όπου αποθηκεύτηκε o ascii κώδικας του 2 ου ορίσματος (1 ο όρισμα που δόθηκε στο Run Parameters) π.χ. για 5, αποθηκεύεται 0x35 Πως μπορούμε να διαβάσουμε την τιμή που δόθηκε από το Run parameters ως αριθμό (και όχι ως κώδικα ascii); 2 Εργαστήριο Οργάνωσης Η.Υ. και Μικροεπεξεργαστών Γ. Ζ.

Κώδικας ascii 3 Εργαστήριο Οργάνωσης Η.Υ. και Μικροεπεξεργαστών Γ. Ζ.

Παράδειγμα week3.s Το πρόγραμμα θα τρέξει μόνο αν ο χρήστης έχει δηλώσει έναν αριθμό στο Run Parameters του simulator. Ο αριθμός αυτός καθορίζει πόσα γινόμενα (Π.Μ. x βαθμός) θα υπολογιστούν και τυπώνει απλά το τελευταίο γινόμενο στην οθόνη. Οι πολλαπλασιαστέοι έχουν δηλωθεί στο πεδίο.data του κώδικα και βρίσκονται αποθηκευμένοι στη μνήμη σε διευθύνσεις που μπορούν να εξευρεθούν χρησιμοποιώντας τις ετικέτες credits και grades Τα γινόμενα αυτά υπολογίζονται ως: credits(i) x grades(i) Το κάθε γινόμενο θα αποθηκεύεται σε θέσεις που έχουν δεσμευθεί στη μνήμη με όνομα moria. Π.χ. Αν ο χρήστης εισαγάγει τον αριθμό 3, το πρόγραμμα θα υπολογίσει ξεχωριστά 3 γινόμενα μεταξύ credits(i) και grades(i) και θα εκτυπώσει μόνο το αποτέλεσμα του τελευταίου πολλαπλασιασμού. 4 Εργαστήριο Οργάνωσης Η.Υ. και Μικροεπεξεργαστών Γ. Ζ.

Απαντήστε στα πιο κάτω ερωτήματα με βάση τον κώδικα week3.s 1. Ποια η διαφορά μεταξύ.byte,.word και.space; 2. Γιατί η μεταβλητή (μονοδιάστατος πίνακας) moria έχει δηλωθεί ως.word και όχι ως.byte; 3. Γιατί ο μετρητής ($t0) αρχικοποιήθηκε στο 0 και όχι στο 1; 4. Με ποιο τρόπο διευθυνσιοδότησης μπορούμε να αποθηκεύουμε το κάθε γινόμενο στη μνήμη; 5. Πως μπορεί να υπολογιστεί ο μέσος όρος από τα πιο πάνω γινόμενα; 6. Τι θα συμβεί αν ο χρήστης δώσει μεγαλύτερο αριθμό από τον αριθμό των μαθημάτων που είναι καταχωρημένα στο πρόγραμμα (αν δεν υπήρχε ο έλεγχος); Ας δούμε τον κώδικα αναλυτικά! 5 Εργαστήριο Οργάνωσης Η.Υ. και Μικροεπεξεργαστών Γ. Ζ.

Βελτίωση του κώδικα (μετονομάστε σε week3a.s) Υλοποιήστε τις αλλαγές που απαιτούνται (μέσα στον ήδη υλοποιημένο βρόχο) έτσι ώστε το κάθε υπολογισμένο γινόμενο να αποθηκεύεται στη σωστή θέση που έχει κρατηθεί για αυτό τον σκοπό στη μνήμη (moria). βοήθεια: ο δείκτης στη μνήμη θα πρέπει να αυξάνεται κατά 4 μετά από κάθε εντολή store (μιας και είναι τύπου:.word) 6 Εργαστήριο Οργάνωσης Η.Υ. και Μικροεπεξεργαστών Γ. Ζ.

Βελτίωση του κώδικα (μετονομάστε σε week3b.s) Υλοποιήστε τον υπολογισμό του μέσου όρου σε ξεχωριστό βρόχο (φορτώνοντας και πάλι τα δεδομένα που χρειάζεστε από την μνήμη). Το τελικό αποτέλεσμα (ο Μέσος Όρος) θα πρέπει να αποθηκευτεί και στη θέση μνήμης που δεσμεύσαμε Εκτυπώστε αναλυτικά το αποτέλεσμα στην οθόνη. βοήθεια: ο μέσος όρος δίνεται από τον λόγο του αθροίσματος των μορίων προς το άθροισμα των πιστωτικών μονάδων. (εδώ δεν λαμβάνεται υπόψη το αν έχετε πάρει προβιβάσιμο βαθμό στο μάθημα!) 7 Εργαστήριο Οργάνωσης Η.Υ. και Μικροεπεξεργαστών Γ. Ζ.

Πρόσθετα Ερωτήματα Πως μπορούμε να δούμε σε πόσα μαθήματα ο φοιτητής πήρε άρτια ή περιττή βαθμολογία; Βρέστε την διεύθυνση μνήμης που περιέχει βαθμολογία μαθήματος 70! Βρέστε εάν στη λίστα μαθημάτων υπάρχει καταχωρημένο το μάθημα ΗΜΥ213 και αν υπάρχει, εκτυπώστε τη σειρά του στη λίστα, τις Π.Μ και τον βαθμό που πήρατε στο μάθημα. 8 Εργαστήριο Οργάνωσης Η.Υ. και Μικροεπεξεργαστών Γ. Ζ.

Μαθησιακοί Στόχοι Εργαστηριακής άσκησης week3 Εξοικείωση με το QtSpim Χρήση εντολών assembly για δημιουργία μετρητών, επαναλήψεων, ελέγχου και αριθμητικών πράξεων Χρήση εντολών φόρτωσης και αποθήκευσης δεδομένων από/προς τη μνήμη με διάφορους τρόπους διευθυνσιοδότησης Χρήση της επιλογής Run Parameters για είσοδο στοιχείων 9 Εργαστήριο Οργάνωσης Η.Υ. και Μικροεπεξεργαστών Γ. Ζ.

Μαθησιακοί Στόχοι Εργαστηρίου 4 1. Εξοικείωση με το άνοιγμα, διάβασμα και κλείσιμο αρχείου μέσα από το SPIM 2. Υλοποίηση της συνάρτησης ΑΤΟΙ 3. Υλοποίηση συνάρτησης για εντοπισμό ακολουθίας αριθμητικών χαρακτήρων («0»,, «9») 4. Χρήση εντολών φόρτωσης και αποθήκευσης δεδομένων από/προς τη μνήμη 10 Εργαστήριο Οργάνωσης Η.Υ. και Μικροεπεξεργαστών Γ. Ζ.

Άνοιγμα, Διάβασμα και Κλείσιμο αρχείου μέσα από το Spim Άνοιγμα $v0 = 13 Διάβασμα $v0 = 14 Κλείσιμο $v0 = 16 Σημειώσεις: Αρχείο προς άνοιγμα = Πλήρες μονοπάτι (με δεξί κλικ στο αρχείο και επιλογή properies μπορείτε να το αντιγράψετε) filename:.asciiz C:\...?...\week4_list.txt Η επιστροφή ορισμάτων γίνεται μέσω του $v0 και όχι του $a0. 11 Εργαστήριο Οργάνωσης Η.Υ. και Μικροεπεξεργαστών Γ. Ζ.

Παράδειγμα week4.s Σας δίνεται πρόγραμμα το οποίο ανοίγει ένα αρχείο (text file) και αποθηκεύει το περιεχόμενο του στη μνήμη. Ο χαρακτήρας ; σηματοδοτεί το τέλος του αρχείου => θα πρέπει να κλείσει το αρχείο.txt. Μετά την αποθήκευση του περιεχομένου στη μνήμη του μικροεπεξεργαστή, το πρόγραμμα εκτυπώνει το περιεχόμενο της μνήμης (που αντιγράφηκε) στην οθόνη. 12 Εργαστήριο Οργάνωσης Η.Υ. και Μικροεπεξεργαστών Γ. Ζ.

Απαντήστε στα πιο κάτω ερωτήματα με βάση τον κώδικα week4.s 1. Πως αποθηκεύεται το κάθε στοιχείο του text file στη μνήμη; 2. Σε τι χρησιμεύει η συνάρτηση atoi; 3. Πως μπορεί να υπολογιστεί το μέγεθος του αρχείου σε χαρακτήρες; 4. Ποια system calls χρειάζονται για διαχείριση του text file; Ας δούμε τον κώδικα αναλυτικά! 13 Εργαστήριο Οργάνωσης Η.Υ. και Μικροεπεξεργαστών Γ. Ζ.

Βελτίωση του κώδικα (μετονομάστε σε week4a.s) 1. Υλοποιήστε την συνάρτηση atoi και αποθηκεύστε σε μια νέα λίστα (που θα δημιουργήσετε) τους αντίστοιχους αριθμούς που βρίσκονται στο text file. 2. Στη συνέχεια εκτυπώστε τους στην οθόνη (τον ένα δίπλα από τον άλλο, όπως στην αρχική λίστα), αφού πρώτα τους πολλαπλασιάσετε με το 8 (χωρίς τη χρήση της εντολής mul). 3. Τροποποιήστε το πρόγραμμα έτσι ώστε να επιτρέπεται στον χρήστη να ψάξει το περιεχόμενο του text file (το οποίο είναι αποθηκευμένο στη μνήμη) για να εντοπίσει ακολουθία με δύο όμοιους χαρακτήρες ascii. Εάν εντοπιστεί τέτοια ακολουθία, τυπώστε στην οθόνη ανάλογο αποτέλεσμα αλλά και τη διεύθυνση που περιέχει τον δεύτερο χαρακτήρα. 14 Εργαστήριο Οργάνωσης Η.Υ. και Μικροεπεξεργαστών Γ. Ζ.

Κώδικας ascii 15

Μαθησιακοί Στόχοι Εργαστηριακής άσκησης week4 Μετατροπή χαρακτήρων ASCII σε αριθμό Άνοιγμα αρχείου (.txt) από το QtSpim Διάβασμα αρχείου και μεταφορά του περιεχομένου στη μνήμη. Επεξεργασία περιεχομένου (χαρακτήρες/ αριθμοί) 16 Εργαστήριο Οργάνωσης Η.Υ. και Μικροεπεξεργαστών Γ. Ζ.