ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Μέρος Β (Οργάνωση Υπολογιστών)

Σχετικά έγγραφα
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

Συστήματα αρίθμησης. = α n-1 *b n-1 + a n-2 *b n-2 + +a 1 b 1 + a 0 όπου τα 0 a i b-1

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Νεκτάριος Κοζύρης ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ

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

Οργάνωση Υπολογιστών

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

ΠΛΗΡΟΦΟΡΙΚΗ I. 4 η ΔΙΑΛΕΞΗ Αριθμητικά Συστήματα

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

Πρόγραμμα Επικαιροποίησης Γνώσεων Αποφοίτων ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Αναπαράσταση Δεδομένων. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

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

ΑΡΙΘΜΗΤΙΚΗ ΓΙΑ ΥΠΟΛΟΓΙΣΤΕΣ

Πληροφορική. Ενότητα 4 η : Κωδικοποίηση & Παράσταση Δεδομένων. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Δυαδικό Σύστημα Αρίθμησης

Συστήματα Αρίθμησης. Συστήματα Αρίθμησης 1. PDF created with FinePrint pdffactory Pro trial version

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Αρχιτεκτονική-Ι. Ενότητα 1: Εισαγωγή στην Αρχιτεκτονική -Ι

ΠΛΗ21 Κεφάλαιο 2. ΠΛΗ21 Ψηφιακά Συστήματα: Τόμος Α Κεφάλαιο: Παράσταση Προσημασμένων Αριθμών Συμπληρώματα

1 η Θεµατική Ενότητα : Δυαδικά Συστήµατα

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

Οργάνωση Η/Υ. Ο Επεξεργαστής TRN. Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου

ΘΕΜΑΤΑ & ΕΝΔΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Αναπαράσταση αριθμών στο δυαδικό σύστημα. Δρ.

Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση. Κεφάλαιο 3. Αριθµητική για υπολογιστές

Εισαγωγή στην Επιστήµη των Υπολογιστών Εξάµηνο 4ο-ΣΗΜΜΥ

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

Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ. Εισαγωγή

Πραγµατικοί αριθµοί κινητής υποδιαστολής Floating Point Numbers. Σ. Τσιτµηδέλης ΤΕΙ ΧΑΛΚΙΔΑΣ

Ανασκόπηση στα ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 11

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, 5 ο εξάµηνο

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Αρχιτεκτονικές Υπολογιστών

Επαναληπτικές δοµές. µτ α.τ. Όχι. ! απαγορεύεται µέσα σε µία ΓΙΑ να µεταβάλλουµε τον µετρητή! διότι δεν θα ξέρουµε µετά πόσες επαναλήψεις θα γίνουν

Παραδείγματα Προγραμματισμού σε Assembly του TRN

Προγραμματισμός Υπολογιστών

1 η Ενδιάμεση Εξέταση Απαντήσεις/Λύσεις

Κεφάλαιο 1. Συστήματα αρίθμησης και αναπαράστασης

Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών

Λύσεις Ασκήσεων ΣΕΙΡΑ 1 η. Πρόσημο και μέγεθος

1. ΣΥΣΤΗΜΑΤΑ ΑΡΙΘΜΩΝ. α i. (α i β i ) (1.3) όπου: η= το πλήθος ακεραίων ψηφίων του αριθμού Ν. n-1

3. Πρόσθεση Πολλαπλασιασμός 4. Πρόσθεση στο πρότυπο ΙΕΕΕ Πολλαπλασιασμός στο πρότυπο ΙΕΕΕ

Συμβολική Γλώσσα στον ΑΒΑΚΑ

Λογικός Σχεδιασµός και Σχεδιασµός Η/Υ. ΗΜΥ-210: Εαρινό Εξάµηνο Σκοπός του µαθήµατος. Ψηφιακά Συστήµατα. Περίληψη. Εύρος Τάσης (Voltage(

Ελίνα Μακρή

Εισαγωγή στην Επιστήµη των Υπολογιστών Εξάµηνο 4ο-ΣΗΜΜΥ

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)

Αριθμητικά Συστήματα

Προγραμματισμός Ι (HY120)

Διαδικασιακός Προγραμματισμός

Εισαγωγή στην επιστήμη των υπολογιστών. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ και Μετατροπές Αριθμών

Εισαγωγή στην επιστήμη των υπολογιστών. Πράξεις με μπιτ

Εισαγωγή στην επιστήµη των υπολογιστών. Υπολογιστές και Δεδοµένα Κεφάλαιο 3ο Αναπαράσταση Αριθµών

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

Κεφάλαια Εντολές επανάληψης. Τρεις εντολές επανάληψης. Επιλογή εντολής επανάληψης ΟΣΟ...ΕΠΑΝΑΛΑΒΕ. Σύνταξη στη ΓΛΩΣΣΑ

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΠΛΗ-21

Προγραμματισμός Ι (ΗΥ120)

Εισαγωγή στην επιστήµη των υπολογιστών. Αναπαράσταση Αριθµών

Εισαγωγή στην Επιστήμη των Υπολογιστών

Πράξεις με δυαδικούς αριθμούς

Εισαγωγή στην επιστήμη των υπολογιστών

Κ15 Ψηφιακή Λογική Σχεδίαση 2: Δυαδικό Σύστημα / Αναπαραστάσεις

Σύστημα Πλεονάσματος και Αναπαράσταση Αριθμών Κινητής Υποδιαστολής

Εισαγωγή στην Επιστήμη των Υπολογιστών

Αριθμητική Ανάλυση & Εφαρμογές

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 3

2. ΑΡΙΘΜΗΤΙΚΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. 2.1 Αριθμητικά συστήματα

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία

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

Σύστημα Πλεονάσματος. Αναπαράσταση Πραγματικών Αριθμών. Αριθμητικές Πράξεις σε Αριθμούς Κινητής Υποδιαστολής

Υπολογιστικά Συστήματα Λογική Σχεδίαση Αρχιτεκτονική Η/Υ Διδάσκοντες: Δρ. Ευγενία Αδαμοπούλου, Δρ. Κώστας Δεμέστιχας

a = 10; a = k; int a,b,c; a = b = c = 10;

ΠΛΗΡΟΦΟΡΙΚΗ I Ενότητα 6

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

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

1. Βάσεις αριθμητικών συστημάτων 2. Μετατροπές μεταξύ ξύβάσεων 3. Αρνητικοί δυαδικοί αριθμοί 4. Αριθμητικές πράξεις δυαδικών αριθμών

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

Αριθµητική υπολογιστών

Προγραμματισμός Ι (ΗΥ120)

5.1 Θεωρητική εισαγωγή

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 5 o Φροντιστήριο

Ψηφιακά Συστήματα. 1. Συστήματα Αριθμών

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΠΛΗ-21

Δομημένος Προγραμματισμός (ΤΛ1006)

Αριθμητική Υπολογιστών (Κεφάλαιο 3)

Αριθμητικά Συστήματα = 3 x x x x 10 0

ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ ΚΑΙ ΚΩ ΙΚΕΣ

1. Το σύστημα κινητής υποδιαστολής 2. Αναπαράσταση πραγματικών δυαδικών αριθμών 3. Το πρότυπο 754 της ΙΕΕΕ

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

Σ ή. : υαδικά. Ε ό. ή Ενότητα

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

Λογική Σχεδίαση Ψηφιακών Συστημάτων

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ

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

Ψηφιακοί Υπολογιστές

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

Συστήματα Μικροϋπολογιστών

Τετάρτη 5-12/11/2014. ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 3 : Αναπαράσταση αριθμών στο δυαδικό σύστημα. Δρ.

Αριθμητικά Συστήματα

Transcript:

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ και ΥΠΟΛΟΓΙΣΤΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Μέρος Β (Οργάνωση Υπολογιστών) Υποδείξεις των λύσεων για τα θέµατα της κανονικής εξέτασης Ιουλίου 2005 (καθηγητής: Νεκτάριος Κοζύρης) Θέµα Β1 (20%): (α) Να παρασταθεί ο δεκαδικός αριθµός 27,75 i) σε κανονική µορφή, για έναν υπολογιστή που ακολουθεί το πρότυπο του ΕΚΥ, ο οποίος έχει λέξη των 32 bits και αφιερώνει: 1 bit για το πρόσηµο, 8 bits για τον πολωµένο εκθέτη και 23 bits για το συντελεστή ii) σύµφωνα µε το πρότυπο απλής ακρίβειας ΙΕΕΕ 754 (βλ. πίνακα σελ. 20 σηµειώσεων) (β) Πόσοι διαφορετικοί πραγµατικοί αριθµοί µπορούν να παρασταθούν µε τη µορφή α(i) και πόσοι µε τη µορφή α(ii) του προηγούµενου ερωτήµατος; ικαιολογήστε την απάντησή σας. (γ) Ποιος είναι ο ελάχιστος κατά µέτρο αριθµός και ποιος ο µέγιστος πραγµατικός αριθµός που µπορεί να παρασταθεί σε κάθε µία από τις παραπάνω µορφές; Ποια είναι η απόσταση µεταξύ δύο διαδοχικών πραγµατικών αριθµών που µπορούν να παρασταθούν, έχοντας εκθέτη ίσο µε τον ελάχιστο και ίσο µε το µέγιστο πραγµατικό αριθµό που µόλις υπολογίσατε για κάθε περίπτωση; Υπόδειξη λύσης * (α) Ο αριθµός 27,75 µετατρέπεται σε δυαδικό, µε διαδοχικές διαιρέσεις για το ακέραιο µέρος και µε διαδοχικούς πολλαπλασιασµούς για το δεκαδικό µέρος. Η δυαδική αναπαράσταση που προκύπτει είναι: 11011,11 i) Προκειµένου να παρασταθεί σε κανονική µορφή του ΕΚΥ, ο αριθµός αυτός γράφεται ισοδύναµα: 0,1101111 <2> 2 5. Στον υπολογιστή αναπαρίσταται ως εξής: 0 10000101 11011110000000000000000 πρόσηµο + εκθέτης = 5+πόλωση 128 συντελεστής ii) Προκειµένου να παρασταθεί σύµφωνα µε το πρότυπο ΙΕΕΕ, σύµφωνα µε την 1 η περίπτωση του αντίστοιχου πίνακα (σελ. 20) των σηµειώσεων, ο προηγούµενος αριθµός γράφεται ισοδύναµα: 1,101111 <2> 2 4. Στον υπολογιστή αναπαρίσταται ως εξής: 0 10000011 10111100000000000000000 πρόσηµο + εκθέτης = 4+πόλωση 127 συντελεστής (β) (i) Το 1 ο bit του συντελεστή είναι πάντα ίσο µε 1. Τα υπόλοιπα 31 bits µπορούν να παίρνουν οποιαδήποτε τιµή, παριστάνοντας κάθε φορά διαφορετικό πραγµατικό αριθµό. Άρα, έχουµε 2 31 διαφορετικούς πραγµατικούς αριθµούς. (ii) Από τον πίνακα της σελ. 20 των σηµειώσεων προκύπτει: πρόσηµο 2 περιπτώσεις εκθέτης Κυµαίνεται από 0 έως 254 για τους πραγµατικούς 255 περιπτώσεις συντελεσ. Έχει 23 bits. που παίρνουν οποιαδήποτε τιµή 2 23 περιπτώσεις Συνολικά, έχουµε 255 2 24 διαφορετικές παραστάσεις πραγµατικών αριθµών. Όµως, το µηδεν µπορεί να παρασταθεί µε δύο διαφορετικούς τρόπους, ως +0 και ως -0. Άρα, µπορούν τελικά να παρασταθούν 255 2 24-1 διαφορετικοί πραγµατικοί αριθµοί. (γ) (i) Μέγιστος: * Οι παρούσες απαντήσεις των θεµάτων αποτελούν απλώς υποδείξεις των λύσεων και όχι πλήρως αιτιολογηµένες απαντήσεις, όπως θα έπρεπε να γραφούν σε ένα διαγώνισµα. Στα σηµεία που δίδεται απλά το αποτέλεσµα των πράξεων, οι φοιτητές θα πρέπει να γράφουν και τις πράξεις που τους οδήγησαν στο αποτέλεσµα αυτό. Επίσης, τα προγράµµατα πρέπει να συνοδεύονται από περιγραφή του αλγορίθµου που ακολουθείται και σχόλια για την κατανόησή τους.

µέγιστος εκθέτης 127 µέγιστος συντελεστής 0,111 1 <2> = 1-2 -23 Άρα έχουµε τον αριθµό (1-2 -23 )2 127. Ελάχιστος: ελάχιστος εκθέτης -128 ελάχιστος συντελεστής 0,100 0 <2> = 2-1 Άρα έχουµε τον αριθµό 2-129. Μεταξύ δύο διαδοχικών αριθµών αλλάζει µόνο το τελευταίο bit του συντελεστή. Άρα, η διαφορά τους είναι 2-23 2 εκθέτης Για την περίπτωση του µεγίστου έχουµε: 2-23 2 127 = 2 104 Για την περίπτωση του ελαχίστου έχουµε: 2-23 2-128 = 2-151 (ii) Μέγιστος: µέγιστος εκθέτης 254-127 = 127 µέγιστος συντελεστής 1,111 1 <2> = 2-2 -23 Άρα έχουµε τον αριθµό (1-2 -24 )2 128. Ελάχιστος: το µηδέν 0 Όπως και στην προηγούµενη περίπτωση, µεταξύ δύο διαδοχικών αριθµών αλλάζει µόνο το τελευταίο bit του συντελεστή. Άρα, η διαφορά τους είναι 2-23 2 εκθέτης Για την περίπτωση του µεγίστου έχουµε: 2-23 2 127 = 2 104 Για την περίπτωση του ελαχίστου έχουµε: 2-23 2-126 (2 η περίπτωση του πίνακα σελ. 20) = 2-149 Θέµα Β2 (30%): (α) Έστω το παρακάτω τµήµα κώδικα σε γλώσσα ASSEMBLY του ΕΚΥ: ADDRESS CON 3 LDA ADA STA INSTRUCT ADDRESS RESULT INSTRUCT SAL 0 Ποιο θα είναι το περιεχόµενο των θέσεων της µνήµης µε labels INSTRUCT, ADDRESS, RESULT, σε δεκαεξαδική µορφή πριν και µετά την εκτέλεση του προγράµµατος αυτού; Το περιεχόµενο της διεύθυνσης µε label RESULT, µετά την εκτέλεση του προγράµµατος, σε ποια εντολή αντιστοιχεί; (β) Έστω ότι στις θέσεις µνήµης Χ και Υ του ΕΚΥ είναι αποθηκευµένοι δύο δυαδικοί αριθµοί, x και y, αντίστοιχα. Να φτιάξετε πρόγραµµα σε γλώσσα ASSEMBLY του ΕΚΥ, το οποίο να υπολογίζει και να αποθηκεύει στη θέση RESULT το αποτέλεσµα της τέλεσης πράξης AND στα αντίστοιχα bits των αριθµών x και y (bitwise AND). Υποδείξεις: 1) Στον ΕΚΥ δεν υπάρχουν εντολές λογικών πράξεων. 2) Οι εντολές ολίσθησης SAL, SAR, δέχονται ως όρισµα έναν αριθµό, όχι µια διεύθυνση της µνήµης. Προκειµένου να καθορίσετε εντός του προγράµµατος πόσες ολισθήσεις θα πρέπει να γίνουν, µπορείτε να χρησιµοποιήσετε τα συµπεράσµατα του ερωτήµατος (α) Υπόδειξη λύσης (α) Το περιεχόµενο των διευθύνσεων µε labels INSTRUCT, ADDRESS, πριν και µετά την εκτέλεση του προγράµµατος είναι: περιεχόµενο θέσης µνήµης κώδικας εντολής τµήµα διεύθυνσης INSTRUCT Β 000 ADDRESS 0 003

Το περιεχόµενο της θέσης της µνήµης µε label RESULT πριν την εκτέλεση του προγράµµατος είναι απροσδιόριστο. Μετά την εκτέλεση έχει την τιµή Αντιστοιχεί, εποµένως, στην εντολή SAL 3. περιεχόµενο θέσης µνήµης κώδικας εντολής τµήµα διεύθυνσης RESULT Β 003 (β) 1 η λύση Το παρακάτω πρόγραµµα, σε κάθε επανάληψη αποµονώνει ένα bit των αριθµών x και y ως εξής: αρχικά x 15 x 14 x 13 x 12 x 11 x 10 x 9 x 8 x 7 x 6 x 5 x 4 x 3 x 2 x 1 x 0 ολίσθηση i θέσεις αριστερά x 11 x 10 x 9 x 8 x 7 x 6 x 5 x 4 x 3 x 2 x 1 x 0 0 0 0 0 ολίσθηση 15 θέσεις δεξιά 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x 11 Προκειµένου να γίνονται σε κάθε επανάληψη διαφορετικός αριθµός ολισθήσεων προς τα αριστερά, θα χρησιµοποιήσουµε τη µέθοδο του προηγούµενου ερωτήµατος, δηλαδή θα γράφουµε την εντολή που πρέπει να εκτελεστεί στην κατάλληλη διεύθυνση. Το λογικό AND µεταξύ δύο αριθµών που έχουν µη µηδενικό µόνο το LSB (least significant bit) ισοδυναµεί µε την πράξη του πολλαπλασιασµού. Εποµένως, στη συνέχεια πολλαπλασιάζουµε τους δύο αριθµούς που προέκυψαν µε τις παραπάνω ολισθήσεις. Τέλος τροποποιούµε το περιεχόµενο της θέσης RESULT ως εξής: από προηγούµενη επανάληψη 0 0 0 0 0 0 0 0 0 0 0 0 xy 15 xy 14 xy 13 xy 12 ολίσθηση 1 θέση αριστερά 0 0 0 0 0 0 0 0 0 0 0 xy 15 xy 14 xy 13 xy 12 0 πρόσθεση γινοµένου 0 0 0 0 0 0 0 0 0 0 0 xy 15 xy 14 xy 13 xy 12 xy 11 X CON x Y CON y SIXTEEN CON 16 ONE CON 1 TEMP RES 1 AD_SAL RES 1 ; Βοηθητική θέση µνήµης, δείχνει σε ποια επανάληψη βρισκόµαστε SAL 16 ; Αρχικοποίηση µηδενισµός µεταβλητών STA AD_SAL LOOP LDA COM_SAL ; Τροποποίηση εντολών ολίσθησης, ώστε να ADA AD_SAL ; γίνονται ακριβώς όσες ολισθήσεις STA EX_SAL_X ; χρειάζονται, σύµφωνα µε το ερώτηµα (α) STA EX_SAL_Y LDA X ; Αποµόνωση ενός bit του x EX_SAL_X SAL * SAR 15 STA TEMP LDA Y ; Αποµόνωση ενός bit του y EX_SAL_Y SAL * SAR 15 MLA TEMP ; Πολλαπλασιασµός δύο bits = Λογικό AND STA TEMP

LDA RESULT ; Τοποθέτηση του αποτελέσµατος στο SAL 1 ; κατάλληλο bit του RESULT ADA TEMP LDA AD_SAL ; Αύξηση µετρητή επαναλήψεων και ADA ONE ; ολισθήσεων, ώστε να προετοιµαστεί STA AD_SAL ; η επόµενη επανάληψη SBA SIXTEEN ; Ελέγχουµε JAN LOOP ; αν πρέπει να γίνει άλλη επανάληψη ; ή τελειώσαµε COM_SAL SAL 0 (β) 2 η λύση Στη συνέχεια, δίνουµε µία λύση του ίδιου προβλήµατος, η οποία δε χρησιµοποιεί τη λογική του ερωτήµατος (α). Σε κάθε επανάληψη φροντίζουµε να έρθουν στο MSB (most significant bit) των αριθµών x και y τα bits πάνω στα οποία θέλουµε να εκτελεστεί η πράξη AND. Στη συνέχεια αναγνωρίζουµε αν τα bits αυτά ισούνται µε 0 ή 1, ανάλογα µε το αποτέλεσµα της εντολής JAN. Αν, δηλαδή, πρόκειται για bit 1, ο συνολικός αριθµός που δηµιουργείται εκλαµβάνεται ως αρνητικός ακέραιος. Η τοποθέτηση του αποτελέσµατος στο κατάλληλο bit του RESULT γίνεται µε τον ίδιο τρόπο, όπως και στην προηγούµενη λύση. από προηγούµενη επανάληψη 0 0 0 0 0 0 0 0 0 0 0 0 xy 15 xy 14 xy 13 xy 12 ολίσθηση 1 θέση αριστερά 0 0 0 0 0 0 0 0 0 0 0 xy 15 xy 14 xy 13 xy 12 0 πρόσθεση 1 ή τίποτα 0 0 0 0 0 0 0 0 0 0 0 xy 15 xy 14 xy 13 xy 12 xy 11 X CON x Y CON y X_SH RES 1 Y_SH RES 1 Ν_1 CON 15 ONE CON 1 SAL 16 ; Αρχικοποίηση µηδενισµός µεταβλητών LDA X STA X_SH LDA Y STA Y_SH LDI N_1 ; Αρχικοποίηση καταχωρητή Β, προκειµένου να γίνουν 16 επαναλήψεις, όσα και τα bits των θέσεων Χ, Υ LOOP LDA RESULT ; Ολίσθηση RESULT, προκειµένου να SAL 1 ; τοποθετηθεί το αποτέλεσµα στο κατάλληλο ; bit LDA X_SH JAN CHECK_Y ; Αν το υπό εξέταση bit του x ισούται µε 1, πρέπει να ελέγξουµε και το αντίστοιχο bit του y, αλλιώς το αποτέλεσµα είναι 0. END LDA X_SH ; Προετοιµασία για την επόµενη επανάληψη SAL 1 STA X_SH LDA Y_SH SAL 1

STA Y_SH INJ LOOP CHECK_Y LDA Y_SH ; Αν το υπό εξέταση bit του y είναι 1, JAN FIX_RES ; πάµε να βάλουµε 1 στο αντίστοιχο bit JMP END ; του RESULT, αλλιώς µένει ίσο µε 0 FIX_RES LDA RESULT ADA ONE JMP END