Ο 8086 µπορεί να θεωρηθεί ότι αποτελείται από δύο τµήµατα επεξεργαστές, όπως φαίνεται και στο σχήµα 1, οι οποίοι είναι:

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Ο 8086 µπορεί να θεωρηθεί ότι αποτελείται από δύο τµήµατα επεξεργαστές, όπως φαίνεται και στο σχήµα 1, οι οποίοι είναι:"

Transcript

1 ΚΕΦΑΛΑΙΟ 1 Ο ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΗΣ 8086 Με την ανάπτυξη του µικροεπεξεργαστή 8086 της Intel, έχουµε (από το 1978) την εµφάνιση της γενιάς των υπολογιστών των 16-bit. Στις επόµενες παραγράφους θα εξεταστεί η δοµή του, καθώς και µερικές από τις ιδιαιτερότητες του. 1.ΕΣΩΤΕΡΙΚΗ ΟΡΓΑΝΩΣΗ ΤΟΥ 8086 Ο 8086 µπορεί να θεωρηθεί ότι αποτελείται από δύο τµήµατα επεξεργαστές, όπως φαίνεται και στο σχήµα 1, οι οποίοι είναι: Σχήµα 1 - Η µονάδα εκτέλεσης (EU, Execution Unit), όπου γίνεται η επεξεργασία των στοιχείων. Η µονάδα αυτής περιέχει καταχωρητές δεδοµένων, καταχωρητές δείκτες, τον καταχωρητή κατάστασης, την αριθµητική λογική µονάδα και την µονάδα ελέγχου. - Η µονάδα διασύνδεσης (BIU, Bus Interface Unit) µέσω της οποίας επικοινωνεί ο µ/ε µε το περιβάλλον του (µνήµη και περιφερειακές συσκευές). Η µονάδα διασύνδεσης διαχειρίζεται όλες τις επικοινωνίες των διαύλων µε την µνήµη και Ι/Ο. Η µονάδα αυτή περιέχει τους καταχωρητές τµηµάτων, τον καταχωρητή δείκτη εντολής (Instruction Pointer, IP), ένα ειδικό αθροιστή για τον σχηµατισµό διευθύνσεων, µια ούρα αναµονής των επόµενων προς εκτέλεση εντολών µεγέθους έξη bytes και µια λογική µονάδα ελέγχου των αγωγών επικοινωνίας. Οι δύο αυτές µονάδες εργάζονται ασύγχρονα και παράλληλα σε "pipeline", όπως λέγεται, δηλαδή η EU όταν είναι ελεύθερη µεταφέρει µια εντολή από την κεφαλή της 1

2 ουράς αναµονής και ενώ την εκτελεί η BIU καλεί την επόµενη και την αποθηκεύει στο τέλος της ουράς αναµονής (queue) της BIU. Όταν η ουρά αδειάζει (π.χ. ύστερα από εντολές διακλάδωσης) η BIU εκτελεί ένα κύκλο µεταφοράς εντολής κατά τον οποίο ο µ/ε αναµένει την επόµενη προς εκτέλεση εντολή. Γενικά όµως η ουρά δεν είναι άδεια και εποµένως η EU δεν περιµένει κατά το κύκλο µεταφοράς. Οι αγωγοί επικοινωνίας (bus), για µεν το εσωτερικό του µ/ε έχουν εύρος 16 bits, ενώ για την επικοινωνία του µε τα υπόλοιπα κυκλώµατα του συστήµατος έχουν εύρος 20 bits. 2.ΚΑΤΑΧΩΡΗΤΕΣ 2.1 Καταχωρητές γενικής χρήσης και δεδοµένων (Data Registers). Οι καταχωρητές αυτοί είναι τέσσερις: AX (συσσωρευτής = accumulator), BX (βάσης = base), CX (µετρητής = counter), DX (δεδοµένων = data ). Καθένας από αυτούς µπορεί να χρησιµοποιηθεί σαν ένας 16-bit καταχωρητής ή σαν δύο ξεχωριστοί 8-bit καταχωρητές. Στην δεύτερη περίπτωση οι δύο οκτάδες δυαδικών ψηφίων που δηµιουργούνται ανά καταχωρητή συµβολίζονται µε τα γράµµατα H (High) και L (Low). Έτσι διακρίνουµε τους 8-bit καταχωρητές : AH, AL, BH, BL, CH, CL, DH, DL. Όλοι τους µπορούν να χρησιµοποιηθούν σε αριθµητικές πράξεις, περιστροφές µεταφορές από την µνήµη κ.α., αλλά και ο καθένας από αυτούς παρουσιάζει και ορισµένες ιδιαιτερότητες οι οποίες είναι: ΑΧ Εργασίες εισόδου / εξόδου, διορθώσεις δεκαδικών, πολλαπλασιασµοί, διαιρέσεις. BX είκτης για έµµεσο τρόπο προσδιορισµού διευθύνσεων µνήµης (indirect addressing). CX Μετρητής είτε εντολών επαναλήψεων είτε εντολών περιστροφών µεταφοράς. DX Επέκταση του AX από 16 bits σε 32 bits για πολλαπλασιασµούς και διαιρέσεις, έµµεσο τρόπο προσδιορισµού διεύθυνσης εισόδου εξόδου. 2.2 Καταχωρητές δείκτες. Πρόκειται για τέσσερις καταχωρητές των 16 bits, οι οποίοι χρησιµοποιούνται σαν δείκτες (pointer, index) για έµµεσο υπολογισµό διευθύνσεων µνήµης, αλλά και για αριθµητικές, λογικές πράξεις, περιστροφές. Αυτοί είναι οι: SP (δείκτης σωρού = Stack Pointer), BP (δείκτης βάσης = Base Pointer), SI (δείκτης προέλευσης = Source Index), DI (δείκτης προορισµού = Destination Index), Και έχουν τις εξής ιδιαιτερότητες : 2

3 SP είχνει την πρώτη ελεύθερη θέση στο σωρό. BP Χρησιµοποιείται για προσπέλαση δεδοµένων στο σωρό (τοπικές µεταβλητές, παράµετροι υποπρογραµµάτων). SI είκτης προέλευσης για µεταφορά χαρακτήρων από µια περιοχή µνήµης. DI είκτης προορισµού για µεταφορά χαρακτήρων σε µια περιοχή µνήµης. 2.3 είκτης εντολών Ο καταχωρητής IP (δείκτης εντολών = Instruction Pointer) δείχνει την απόκλιση (offset) της διευθύνσεως της επόµενης προς εκτέλεση εντολής µέσα στο τµήµα του κώδικα. Ενηµερώνεται από την BIU. Ο µετρητής προγράµµατος (Program Counter) της µηχανής von Neumann έχει αντικατασταθεί εδώ από το δίδυµο : CS : IP 2.4 Καταχωρητής κατάστασης ή σηµαιών. Σχήµα 2. Ο καταχωρητής σηµαιών ή κατάστασης SR είναι ένας καταχωρητής µεµονωµένων 16 bits, από τα οποία µόνο 9 χρησιµοποιούνται σαν σηµαίες κατάστασης ή ελέγχου είκτες κατάστασης.(6 bits) Τίθενται σε µια κατάσταση ( ON, OFF ) ανάλογα µε το αποτέλεσµα της προηγούµενης αριθµητικής, λογικής εντολής, εντολής σύγκρισης. Χρησιµοποιούνται (από άλλες εντολές) για την εκτέλεση διακλαδώσεων µέσα στο πρόγραµµα. Είναι : CF (Carry Flag) 3

4 Χρησιµοποιείται σαν ένα επιπλέον δυαδικό ψηφίο σε αριθµητικές εντολές (ADD, SUB, ADC, SBC). Εάν προκύψει ένα κρατούµενο (πρόσθεση) ή απαιτηθεί δανεισµός (αφαίρεση) έξω από το Msbit, παίρνει τιµή 1 αλλιώς 0. Επίσης επηρεάζεται από ορισµένες εντολές ολίσθησης και περιστροφής (RCR, RCL). Msbit είναι το πιο σηµαντικό bit δηλαδή το 7 ο όταν πρόκειται για πράξεις 1 ος byte ή 15 ο πρόκειται για πράξεις 1ας word = 2bytes. AF (Auxiliary Flag) Εάν µετά από αριθµητική πράξη προκύψει µεταφορά κρατούµενου από το 3 ο προς το 4 ο bit του byte, παίρνει την τιµή 1 αλλιώς 0. Χρησιµοποιείται σε πράξεις BCD (DAA, AAA). SF (Sign Flag) Χρησιµοποιείται από αριθµητικές ή λογικές πράξεις. Παίρνει την ίδια τιµή µε το Msbit (7 ή 15) του αποτελέσµατος. Εάν το αποτέλεσµα είναι θετικό γίνεται 0, εάν είναι αρνητικό γίνεται 1. ZF (Zero Flag) Γίνεται 1 αν το αποτέλεσµα µιας αριθµητικής ή λογικής πράξης είναι 0, αλλιώς µένει 0. OF (Overflow Flag) Γίνεται 1 όταν το προσηµασµένο αποτέλεσµα µιας πράξης (σε συµπλήρωµα του δύο) είναι πολύ µεγάλο ή πολύ µικρό για να χωρέσει στον τελεστή του αποδέκτη. Προκύπτει από µια αποκλειστική λογική πρόσθεση (exclusive-or) της µεταφοράς κρατούµενου από και προς το Msbit του αποτελέσµατος. PF (Parity Flag) Ψηφίο ισοτιµίας. Γίνεται 1 όταν το πλήθος των 1 του χαµηλού byte ενός αποτελέσµατος είναι περιττό. Να σηµειωθεί εδώ ότι τη κατάσταση αυτών των δεικτών εξαρτάται από το αποτέλεσµα µιας πράξεως και χρησιµεύουν για να γίνονται οι απαραίτητες διορθώσεις ή οι αλλαγές της ροής του προγράµµατος είκτες Ελέγχου.(3 bits) Χρησιµοποιούνται για τον έλεγχο του µικροεπεξεργαστή (διακοπές προγράµµατος, εκτέλεση βήµα προς βήµα, σειρές χαρακτήρων). IF (Interrupt Flag) 4

5 Τοποθετούµενος σε τιµή 1 ο δείκτης IF, ο µε αναγνωρίζει τις εξωτερικές διακοπές µε µάσκα, αλλιώς δεν λαµβάνονται υπόψη. Καµία επίδραση στις άλλες διακοπές (εσωτερικές και χωρίς µάσκα). DF (Direction Flag) Αναφέρεται µόνο στις εντολές σειράς χαρακτήρων. Εφόσον είναι 1 ο καταχωρητής δείκτης (SI ή DI) ελαττώνεται κατά ένα ή δύο και η επεξεργασία των σειρών χαρακτήρων γίνεται από την µεγαλύτερη προς την µικρότερη δ/νση, αλλιώς αυξάνεται κατά ένα η δύο. TF (Trap Flag) Σε κατάσταση 1 δηµιουργεί µια εσωτερική διακοπή µετά από την εκτέλεση κάθε εντολής και το πρόγραµµα εκτελείται βήµα βήµα. Προσφέρει πολύτιµη βοήθεια στην εκσφαλµάτωση του προγράµµατος. Στο σχήµα 2 φαίνονται οι θέσεις όλων των δεικτών µέσα στον καταχωρητή κατάστασης. Οι δείκτες εµφανίζονται µε τον αρχικό χαρακτήρα τους π.χ. T σηµαίνει Trap Flag. 2.5 Καταχωρητές τµηµάτων. Οι τέσσερις καταχωρητές τµηµάτων (segments) περιέχουν την διεύθυνση στην οποία βρίσκεται η αρχή του τµήµατος στο οποίο αναφέρονται µέσα στην µνήµη του υπολογιστή και είναι οι εξής: - Καταχωρητής CS (τµήµατος κώδικα = Code Segment). - Καταχωρητής DS (τµήµατος δεδοµένων = Data Segment). - Καταχωρητής SS (τµήµατος σωρού = Stack Segment). - Καταχωρητής ES (extra τµήµατος δεδοµένων = Extra Segment). 3. ΠΕΡΙΓΡΑΦΗ ΑΚΡΟ ΕΚΤΩΝ ΤΡΟΠΟΙ ΛΕΙΤΟΥΡΓΙΑΣ. Ο µ/ε 8086 παρουσιάζεται µε την µορφή ολοκληρωµένου κυκλώµατος DIL (Dual In Line) 40 ακροδεκτών (pins) και είναι σχεδιασµένος να λειτουργεί µε δύο τρόπους. Ελάχιστο (Minimum) και Μέγιστο (Maximum). Η επιλογή του τρόπου λειτουργίας γίνεται θέτοντας σε τάση 5V ή 0V τον ακροδέκτη ΜΝ/ΜΧ. Η διαφορά βρίσκεται στο ότι στην περίπτωση Minimum τα απαραίτητα σήµατα ελέγχου του διαύλου δίνονται απευθείας από τον µ/ε, ενώ στην περίπτωση Maximum δηµιουργούνται από το ολοκληρωµένο υποστήριξης Ακόµη στη Μέγιστη λειτουργία έχει την δυνατότητα παράλληλης επεξεργασίας µε την συνεργασία συνεπεξεργαστών 8087 και Ο 8086 πολυπλέκει (Multiplex) τα σήµατα διεύθυνσης και δεδοµένων. ιαθέτει 20 ακροδέκτες διευθύνσεων, µε τα σήµατα διευθύνσεων και δεδοµένων (Address 5

6 Data) να πολυπλέκονται στους δεκαέξι (από AD0 έως και AD15) και µε τα σήµατα ελέγχου και διευθύνσεων (System Address) να πολυπλέκονται στους υπόλοιπους τέσσερις (από A16 ή S3 έως και A19 ή S6). Επειδή τα δεδοµένα και οι διευθύνσεις υπάρχουν στους ίδιους ακροδέκτες, αλλά σε διαφορετικές χρονικές στιγµές, υπάρχει ένα σήµα ελέγχου ( Το ALE Address Latch Enable ) που ξεχωρίζει τι από τα δύο υπάρχει κάθε φορά στους ακροδέκτες. Η διαδικασία αυτή ελέγχεται από την BIU. Σχήµα 3 Άλλοι ακροδέκτες είναι: - GND ύο ακροδέκτες γείωσης. - NMI Αίτησης διακοπής χωρίς µάσκα. - INTR Αίτησης διακοπής µε µάσκα. - CLK Παρέχει τον παλµό του ρολογιού ο οποίος συγχρονίζει την δραστηριότητα µέσα στην CPU. - RESET Παρέχει σήµα διακοπής του προγράµµατος. Το σύστηµα περνάει σε κατάσταση επανέναρξης της λειτουργίας, και αρχίζει να εκτελείται το πρόγραµµα που βρίσκεται στην διεύθυνση 0FFFF0h (IP=0000,CS=0FFFFh). Κανονικά η δ/νση αυτή βρίσκεται στην ROM και περιέχει µια εντολή JMP 6

7 στην δ/νση του προγράµµατος εκκίνησης του συστήµατος. Το πρόγραµµα αυτό αναφέρεται σαν bootstrap loader. - READY έχεται σήµα αποδοχής από την µνήµη ή από µια διασύνδεση εισόδου/εξόδου, που σηµαίνει ότι δεδοµένα θα τοποθετηθούν στον δίαυλο δεδοµένων στον αµέσως επόµενο παλµό ρολογιού. - TEST Σε συνδυασµό µε την εντολή WAIT χρησιµοποιείται κυρίως σε περιπτώσεις πολυεπεξεργασίας. - RD Φανερώνει ότι λειτουργία εισόδου πρόκειται να εκτελεστεί λειτουργία εισόδου. - VCC Τροφοδοσία του συστήµατος +5V µε απόκλιση 10%. - S3, S4 είχνουν τον καταχωρητή τµήµατος που χρησιµοποιείται για τον σχηµατισµό δ/νσης. - S5 είχνει το περιεχόµενο του καταχωρητή σηµαιών (IF). - S6 Είναι πάντοτε µηδέν και δείχνει ότι ο µικροεπεξεργαστής ελέγχει τον δίαυλο του συστήµατος. - QS0 (ALE), QS1 (INTA) είχνει την κατάσταση της ουράς των εντολών. Η κατάσταση αυτή φανερώνει την κατάσταση της ουράς κατά την διάρκεια του προηγούµενου κύκλου ρολογιού. - S0, S1, S2 Φανερώνουν τον τύπο της µεταφοράς κατά την διάρκεια του τρέχοντα κύκλου µηχανής (Bus Cycle). - LOCK είχνει ότι ο έλεγχος διαχείρισης του διαύλου δεν είναι δυνατόν να αποκτηθεί από άλλο διαχειριστή διαύλου. - RQ/GT0 (HOLD) RQ/GT1 (HLDA) Χρησιµοποιούνται για είσοδο αιτήσεων αποδόσεως διαύλου σε άλλους διαχειριστές διαύλου και έξοδο αποδόσεων διαύλου. 4.ΟΡΓΑΝΩΣΗ ΜΝΗΜΗΣ Το εύρος του διαύλου δ/νσεων είναι 20 bit. Εποµένως ο 8086 έχει δυνατότητα προσπέλασης 1 Megabyte θέσεων µνήµης. Το σύνολο των δ/νσεων είναι από 00000h έως 0FFFFFh. Το περιεχόµενο κάθε θέσης µνήµης είναι 1 byte. Στην µνήµη του µπορούµε να θεωρήσουµε τµήµατα (segments) µνήµης καθένα από τα οποία είναι µεγέθους 64 kbytes. Η αρχή κάθε τµήµατος από το επόµενο απέχει 16 bytes, δηλαδή τα τµήµατα αρχίζουν από δ/νσεις µνήµης που διαιρούνται µε το 16 και ονοµάζονται παράγραφοι. Εποµένως έχουµε 64 kbytes παραγράφους µνήµης. Ο χωρισµός της µνήµης σε τµήµατα (segmentation) προήλθε κύρια από το γεγονός ότι είναι αδύνατη η διευθυνσιοποίηση της διαθέσιµης µνήµης εσωτερικά µε µόνον ένα από τους 7

8 διαθέσιµους καταχωρητές των 16 bits του Το πρόβληµα της διευθυνσιοποίησης εσωτερικά επιλύεται ως εξής: Για την προσπέλαση σε µια θέση µνήµης πρέπει να τεθεί η φυσική διεύθυνση (physical address) των 20 bits στο δίαυλο των διευθύνσεων. Με τον όρο φυσική δ/νση εννοούµε την πραγµατική δ/νση µνήµης που υπάρχει έξω από τον µ/ε και προκύπτει από αποκωδικοποίηση των σηµάτων στο δίαυλο δ/νσεων. Για τον σχηµατισµό της δ/νσης αυτής εσωτερικά στον 8086 χρησιµοποιούνται δύο καταχωρητές ως εξής: Σε έναν από τους καταχωρητές τµηµάτων τοποθετείται ο αύξων αριθµός της παραγράφου αρχής ενός τµήµατος µνήµης. Η φυσική δ/νση που ξεκινάει το αντίστοιχο τµήµα προκύπτει από πολλαπλασιασµό του περιεχοµένου του καταχωρητή τµήµατος επί 16. Ο δεύτερος καταχωρητής ο οποίος ονοµάζεται κατά περίπτωση pointer ή index (δείκτης) περιέχει την απόσταση από την αρχή του τµήµατος, η οποία ονοµάζεται λογική διεύθυνση ή µετατόπιση ή ενεργός διεύθυνση (logical address, offset, effective address). Ο τελικός προσδιορισµός της φυσικής διεύθυνσης προκύπτει από την πρόσθεση της λογικής δ/νσης στην δ/νση αρχής του τµήµατος σύµφωνα µε την απλή σχέση: < φυσική διεύθυνση > = < τµήµα > * 16 + < µετατόπιση > Μια πραγµατική δ/νση εσωτερικά στον µ/ε την αναπαριστούµε µε την σχέση: segment:offset όπου segment και offset δυο 4ψήφιοι δεκαεξαδικοί αριθµοί ή ένας καταχωρητής τµήµατος και ένας καταχωρητής δείκτης αντίστοιχα π.χ 987Ah:0100h, CS:IP, DS:9987H κ.α. Μέσω ενός καταχωρητή δείκτη υπάρχει η δυνατότητα προσπέλασης σε µια περιοχή µνήµης µήκους 64 kbytes από την αρχή του τµήµατος. εδοµένου ότι οι καταχωρητές τµηµάτων είναι τέσσερις έχουµε την δυνατότητα αρχικής επιλογής τεσσάρων βασικών τµηµάτων µε την ιδιαιτερότητα του το καθένα από αυτά, ανάλογα µε τον χρησιµοποιούµενο καταχωρητή τµήµατος: Ο καταχωρητής CS περιέχει την δ/νση αρχής του τµήµατος όπου έχουν αποθηκευτεί οι κωδικοί των εντολών του προγράµµατος (CODE). Η µετατόπιση στο τµήµα αυτό καθορίζεται αποκλειστικά και µόνο από τον καταχωρητή IP. Το δίδυµο δηλ. CS:IP αντικαθιστά τον µετρητή προγράµµατος (PC) των άλλων επεξεργαστών Π.χ αν CS = 345Ah και IP = 712Ch, τότε η φυσική δ/νση της επόµενης εντολής είναι: CS*10h + IP = 345Ah * 10h + 712Ch = 345A0h + 712Ch = 3B6CCh Ο καταχωρητής SS περιέχει την δ/νση από όπου αρχίζει το τµήµα µνήµης της σωρού (STACK). Στην περίπτωση αυτή η λογική δ/νση της κορυφής της σωρού δίνεται αποκλειστικά και µόνο από τον καταχωρητή BP. Π.χ. αν SS = 1ABCh και SP = 100h, τότε η φυσική δ/νση της κορυφής του σωρού είναι: SS * 10h + SP = 1ABCh * 10h + 100h = 1ABC0h + 100h = 1ACC0h Οι καταχωρητές DS και ES περιέχουν την δ/νση στην οποία αρχίζει κάποιο τµήµα δεδοµένων ( DATA ) απαραίτητων για την εκτέλεση του προγράµµατος, και παρέχουν ένα επιπλέον χώρο (EXTRA) που µπορεί να χρησιµοποιηθεί για αποθήκη δεδοµένων. 8

9 Σε κάθε ένα από τους 4 αυτούς καταχωρητές των 16 bits, αρκεί να προστεθούν από δεξιά (στα χαµηλά βάρη) 4 µηδενικά bits για σχηµατιστεί µια δ/νση 20 bits. Αυτή η δ/νση είναι η αρχή του αντίστοιχου τµήµατος (segment). Αλληλοεπικαλυπτόµενα τµήµατα Ανεξάρτητα τµήµατα Ταυτιζόµενα τµήµατα Σχήµα 4. Τα τέσσερα αυτά τµήµατα µπορεί να είναι τοποθετηµένα στην µνήµη κατά διαφόρους δυνατούς τρόπους δηλαδή είτε να ταυτίζονται είτε να αλληλοεπικαλύπτονται είτε να είναι συνεχόµενα στην µνήµη είτε τέλος και να καταλαµβάνουν ανεξάρτητες µη συνεχόµενες θέσεις στην µνήµη. Η πιο απλή και συµβατική προσέγγιση σε ένα πρόγραµµα είναι ο κώδικας και τα δεδοµένα να βρίσκονται σε γειτονικές περιοχές µνήµης, ενώ ο σωρός να τοποθετείται σε µια άλλη καθορισµένη περιοχή. 5.ΤΟΠΟΘΕΤΗΣΗ - ΠΡΟΣΠΕΛΑΣΗ ΤΩΝ ΛΕΞΕΩΝ ΣΤΗΝ ΜΝΗΜΗ Το περιεχόµενο κάθε θέσης µνήµης είναι 1 byte. Οι λέξεις ( word = 2 bytes ) δεδοµένα αποθηκεύονται µε το περισσότερο σηµαντικό byte στην χαµηλότερη δ/νση. Έτσι π.χ. ο αριθµός 3456h θα αποθηκευτεί, στις διαδοχικές δ/νσεις 678h και 679h σαν 5634h σύµφωνα µε το σχήµα: /νσεις 9

10 Οι διπλές λέξεις δεδοµένων όπως αυτές που αφορούν πραγµατικές δ/νσεις (segment:offset) αποθηκεύονται σε διαδοχικές θέσεις µνήµης αντίστροφα. Π.χ αν DS=1234h και SI=5678h η πραγµατική δ/νση (pointer) DS:SI αποθηκεύεται στις διαδοχικές θέσεις µνήµης 0300h έως και 0303h ως εξής: /νσεις Ο δίαυλος δεδοµένων του 8086 είναι 16 bits. Αν δούµε την µνήµη σε µορφή λέξεων, τότε καταλήγουµε σε ένα σύστηµα µνήµης 512 kbytes δ/νσεων των 16 bits η κάθε µια. Ο 8086 είναι σε θέση να προσπελάσει αυτά τα 16 bits δεδοµένων σε ένα κύκλο µηχανής ή και συγκεκριµένο byte από τα δύο από αυτά, ανάλογα µε τις τιµές των σηµάτων AD0 και BHE. ιακρίνονται οι εξής περιπτώσεις: Α. Προσπέλαση ενός byte σε άρτια δ/νση. AD0 = 0 και BHE = 1 (Ένας κύκλος µηχανής). Β. Προσπέλαση ενός byte σε περιττή δ/νση. AD0 = 1 και BHE = 0 (Ένας κύκλος µηχανής). Γ. Προσπέλαση δύο byte σε άρτια δ/νση. AD0 = 0 και BHE = 0 (Ένας κύκλος µηχανής).. Προσπέλαση δύο byte σε περιττή δ/νση. Χρειάζονται δύο κύκλοι µηχανής που αντιστοιχούν στις περιπτώσεις Β και Α. Στο πρόγραµµα που ακολουθεί, τοποθετούµε στο High τµήµα του καταχωρητή AX τον χαρακτήρα A και στο Low τµήµα του τον χαρακτήρα B. Ακολούθως µεταφέρουµε το περιεχόµενο στην µνήµη και τυπώνουµε το περιεχόµενο µνήµης byte byte. Όταν τρέξουµε το πρόγραµµα (αφού το µεταφράσουµε προηγουµένως) θα διαπιστώσουµε ότι οι χαρακτήρες τυπώνονται ανάστροφα δηλαδή BA Αυτό συµβαίνει βέβαια επειδή και τοποθετήθηκαν ανάστροφα στην µνήµη. ;Το πρόγραµµα αυτό δείχνει τον τρόπο αποθήκευσης των λέξεων στην µνήµη ;είναι γραµµένο µε απλοποιηµένες οδηγίες τµηµάτων Παράδειγµα προγράµµατος υπ αριθµόν 1 : TITLE word test; Οδηγία που ονοµάζει ένα πρόγραµµα DOSSEG.MODEL SMALL.CODE 10

11 MAIN proc far PUSH DS; προετοιµασία για έξοδο στο DOS, σώζουµε στο σωρό το XOR AX,AX; τµήµα (SEGMENT) του PSP PUSH AX; και την µηδενική µετατόπιση του PSP MOV MOV DS, AX MOV Ah,'A' MOV AL,'B' MOV WORD LOW HI,AX; µεταφορά στην µνήµη MOV DL,CHAR low; εµφάνιση του πρώτου χαρακτήρα MOV AH,2 INT 21H MOV DL,CHAR hi; εµφάνιση του επόµενου χαρακτήρα MOV AH,2; 2η κλήση του DOS που εµφανίζει χαρακτήρα INT 21H; DOS RET; επιστροφή στο DOS µέσω INT 20h του PSP MAIN endp.data WORD LOW HI label word Char low db 0 Char hi db 0.STACK 100H END MAIN 6.ΕΙΣΟ ΟΙ ΕΞΟ ΟΙ Μια άλλη κατηγορία δ/νσεων τελείως ανεξάρτητη από τις δ/νσεις µνήµης αφορά τα περιφερειακά και είναι γνωστός σαν χώρος Ε/Ε µε µέγεθος 64 kbytes. Κάθε µια από τις δ/νσεις αυτές είναι γνωστή σαν θύρα (port) και η διευθυνσιοποίηση τους γίνεται µε την βοήθεια ενός µόνο καταχωρητή (DX) ή και ενός µόνο byte (σταθερά) για τις θύρες µε δ/νση µικρότερη του 256. Η επικοινωνία µε τις θύρες επιτυγχάνεται µε την χρήση ειδικών εντολών (IN και OUT). Οι καταχωρητές τµηµάτων δεν χρησιµοποιούνται στην διευθυνσιοποίηση των θυρών. 11

12 ΚΕΦΑΛΑΙΟ 2 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΤΟΥ 8086 ΜΕ ΣΥΜΒΟΛΙΚΗ ΓΛΩΣΣΑ. 1.ΕΙΣΑΓΩΓΗ Η ASSEMBLY είναι συµβολική γλώσσα της γλώσσας µηχανής του µ/ε. Για την κατανόηση της λειτουργίας της γλώσσας µηχανής µπορούµε να θεωρήσουµε τον υπολογιστή σαν ένα σύστηµα που αποτελείται από πέντε υποσυστήµατα (είσοδος, έξοδος, αριθµητική λογική µονάδα, µνήµη) λειτουργικά συνδεµένα µεταξύ τους σύµφωνα µε το σχήµα παρακάτω: Αριθµητικό υποσύστηµα (πρόσθεση, αφαίρεση, πολλαπλασιασµός,διαίρεση, λογικές πράξεις ολίσθηση κ.α.) Είσοδοι πληκτρολόγιο, Ποντίκι δίσκος -Υποσύστηµα ελέγχου Έλεγχος διαύλων Έξοδοι Εκτυπωτής, δίσκος Οθόνη Υποσύστηµα µνήµης (Έως 1Mbyte RAM και ROM) Ο µ/ε διευθύνει τις δραστηριότητες του συστήµατος µε τον εξής απλό τρόπο: Μεταφέρει δεδοµένα από την µνήµη του τα οποία αποκωδικοποιούνται και εκτελούνται ακολούθως. Τα δεδοµένα που µπορούν να αποκωδικοποιηθούν και να εκτελεστούν λέγονται εντολές το δε σύνολο τους (instruction set) περιέχει όλες τις δυνατές ενέργειες που µπορεί το λογισµικό να απαιτήσει από τον επεξεργαστή. Ο µ/ε διαθέτει ένα σύνολο από εντολές σε δυαδική µορφή, γνωστό σαν γλώσσα µηχανής (machine language). Η συµβολική γλώσσα ASSEMBLY είναι µια προσανατολισµένη προς τον άνθρωπο µορφή της γλώσσας µηχανής και η χρήση της επιβλήθηκε γιατί είναι πιο εύκολος ο προγραµµατισµός σε συµβολική γλώσσα. Π.Χ είναι πιο ευκολοκατανόητη µια εντολή της µορφής : add a1,1 12

13 αντί της ισοδύναµης της σε γλώσσα µηχανής : 4 1 Τα πλεονεκτήµατα τους προγραµµατισµού σε συµβολική γλώσσα είναι: - Μπορείς και ελέγχεις όλες τις ενέργειες του επεξεργαστή µια προς µια. - Μπορείς και έχεις προσπέλαση απευθείας σε όλη την µνήµη και σε όλες τις συσκευές εισόδου εξόδου. - Ο κώδικας που παράγει είναι ο γρηγορότερος δυνατός γιατί οι εντολές µεταφράζονται µια προς µια στις αντίστοιχες της γλώσσας µηχανής. Ο συµβολοµεταφραστής (Assembler) είναι το πρόγραµµα που µεταφράζει προγράµµατα συµβολικής γλώσσας σε γλώσσα µηχανής. Αντικαθιστά τους τελεστές µε κωδικούς εντολών και τους τελεστέους µε διευθύνσεις µέσα σε λέξεις του υπολογιστή. Από τους συµβολοµεταφραστές (TASM.EXE ή MASM.EXE) παράγεται ένα ενδιάµεσο αρχείο µε κατάληξη.obj γνωστό σαν object module, το οποίο ακολούθως µε το πρόγραµµα συνδέτη (TLINK.EXE ή LINK.EXE) συνδέεται µε άλλα object modules και παράγεται το τελικό εκτελέσιµο πρόγραµµα σε γλώσσα µηχανής µε κατάληξη.exe ή.com. Παράδειγµα µε ένα κειµενογράφο γράφουµε το παρακάτω πρόγραµµα το οποίο τυπώνει ένα µήνυµα στην οθόνη: Παράδειγµα προγράµµατος υπ αριθµόν 2 : INTDOS EQU 21h TITLE MHNHMA KVDIKAS SEGMENT PUBLIC ASSUME CS:KVDIKAS,DS:DEDOMENA MAIN PROC NEAR mov ax,dedomena ; Ο ds πρέπει να περιέχει την δ/νση αρχής του mov ds,ax ; του τµήµατος των δεδοµένων lea dx,mhnhma ; Ενεργός δ/νση του αλφαριθµητικό στο dx mov ah,9 ; Αριθµός κλήσης του DOS για εµφάνιση string int INTDOS MAIN ENDP KVDIKAS ENDS DEDOMENA SEGMENT PUBLIC Mhnhma db WELLCOME TO ASSEMBLY,13,10, $ DEDOMENA ENDS SOROS SEGMENT PARA STACK SOROS Db 100h dup(0) ; Μέγεθος σωρού 256 bytes SOROS ENDS END MAIN 13

14 Αφού σώσουµε το πρόγραµµα στο δίσκο µε την ονοµασία MHNHMA.ASM, καλούµε τον συµβολοµεταφραστή µε την εντολή : TASM MHNHMA Εφόσον δεν προκύψουν λάθη, από την µετάφραση θα προκύψει αρχείο MHNHMA.OBJ. Τέλος για την παραγωγή του εκτελέσιµου αρχείου καλούµε το πρόγραµµα συνδέτη µε την εντολή : TLINK MHNHMA Από τον οποίο και προκύπτει το εκτελέσιµο αρχείο MHNHMA.EXE. Εφόσον όµως από τον κώδικα προβλέπεται να προκύψει εκτελέσιµο.com αρχείο, καλούµε τον συνδέτη µε την επιλογή /t (π.χ. TLINK /t ). Το πηγαίο πρόγραµµα ASSEMBLY αποτελείται από γραµµές οι οποίες µεταφράζονται η µια µετά την άλλη. Η σύνταξη κάθε γραµµής προγράµµατος έχει την µορφή: < Ετικέτα > < εντολή/οδηγία > < τελεστές > ; < σχόλια > Ετικέτες ( labels ) είναι ονοµασίες που αναφέρονται σε δ/νσεις µνήµης είτε στο τµήµα του κώδικα είτε µέσα στα δεδοµένα, όπου µπορούν να θεωρηθούν και σαν µεταβλητές ή ονοµασίες σταθερών τιµών. Στο προηγούµενο πρόγραµµα υπάρχουν οι ετικέτες : INDOS, KVDIKAS, MAIN, DEDOMENA, MHNHMA, SOROS. Εφόσον µετά την ετικέτα ακολουθεί εντολή και όχι οδηγία µπαίνει το σύµβολο : π.χ. στην ετικέτα again όπως φαίνεται στο παρακάτω παράδειγµα. again: add a1,5. jmp again Εντολές (instructions) προγράµµατος είναι οι συµβολικές λέξεις που µεταφράζονται σε γλώσσα µηχανής και παράγουν κώδικα, ενώ οι οδηγίες (directives) δεν παράγουν κώδικα µηχανής αλλά απλά καθοδηγούν τον µεταφραστή µε πιο τρόπο θα µεταφράσει τις επόµενες εντολές του προγράµµατος. Παραδείγµατα εντολών είναι mov, add, int, sub, mul, div κ.α. Το παράδειγµα παραπάνω χρησιµοποιεί τις οδηγίες EQU, SEGMENT, ENDS, PROC, ENDP, ASSUME, END. Τέλος κάθε οδηγία ή εντολή συντάσσεται µε κανένα, ένα, δύο και σπάνια µε τρεις τελεστές οι οποίοι γράφονται στην ίδια γραµµή µε την εντολή. Έχουµε τις εξής περιπτώσεις τελεστών: - Σταθερές αριθµητικές ( π.χ. 14, 35d, 21h, b, 0abcdh) ή αλφαριθµητικά και χαρακτήρες ( π.χ a ). Σηµειώνουµε ότι το σύµβολο d 14

15 µετά τον αριθµό σηµαίνει δεκαδικό σύστηµα, το h δεκαεξαδικό και το b δυαδικό. - Καταχωρητές (π.χ ax, bx). - Ετικέτες (π.χ jmp again). - Εκφράσεις όπως LENGTH, OFFSET,:,SEG κ.α. Ένα πρόγραµµα assembly (χωρίς να είναι υποχρεωτικό βέβαια) είναι χωρισµένο σε ανεξάρτητα τµήµατα (segments), άλλα από τα οποία χρησιµοποιούνται για κώδικα και άλλα για δεδοµένα. Σηµειώνουµε εδώ την υποχρεωτική δήλωση του τµήµατος σωρού µε την έκφραση STACK. Τα παραπάνω ισχύουν βέβαια για προγράµµατα.exe. Τα προγράµµατα.com παρουσιάζουν τις εξής διάφορες: - Είναι προγράµµατα ενός τµήµατος (κώδικας και δεδοµένα στο ίδιο τµήµα). Όλα τα τµήµατα που δηλώνονται πρέπει να θεωρούνται ότι ταυτίζονται. - Το πρόγραµµα αρχίζει 256 bytes µετά την αρχή του τµήµατος. Ο χώρος των 256 bytes χρησιµοποιείται σαν πρόθεµα του προγράµµατος (PSP Program Segment Prefix). - εν δηλώνεται σωρός. Σαν χώρος σωρού διατίθενται 256 τελευταία bytes του τµήµατος χωρίς αυτό να δηλώνεται µέσα στο πρόγραµµα. Παράδειγµα να γράφει πρόγραµµα ενός προγράµµατος.com που προσθέτει δυο µονοψήφιους αριθµούς και τυπώνει το αποτέλεσµα στην οθόνη: Παράδειγµα προγράµµατος υπ αριθµόν 3 : TITLE ΑΘΡΟΙΣΗ ; Τίτλος του προγράµµατος CGROUP GROUP KVDIKAS,DEDOMENA ; Ταύτιση των δύο τµηµάτων κώδικα ;και δεδοµένων KVDIKAS SEGMENT PUBLIC ASSUME CS:CGROUP,DS:CGROUP ORG 100h ; Το πρόγραµµα αρχίζει 256 µετά την αρχή του τµήµατος. MAIN PROC NEAR mov al,aritmos1 ;Ο πρώτος αριθµός στον καταχωρητή AL add al,aritmos2 ; Πρόσθεση και αποθήκευση του αποτελέσµατος στον AL mov dl,al ; Μεταφορά του αποτελέσµατος στον DL προκειµένου να εµφανιστεί add dl,30h ; Μετατροπή του αριθµού στην ASCII τιµή του χαρακτήρα mov ah,2 ; Αριθµός κλήσης του DOS για εµφάνιση χαρακτήρα στην οθόνη int 21h ; ιακοπή του DOS int 20h ; ιακοπή του DOS για έξοδο από το πρόγραµµα σε.com προγράµµατα 15

16 MAIN ENDP KVDIKAS ENDS DEDOMENA SEGMENT PUBLIC aritmos1 db 4 aritmos2 db 5 DEDOMENA ENDS END MAIN Υπεµθυµίζουµε ότι η κλήση του συνδέτη γίνεται µε την παράµετρο /t π.χ αν το πηγαίο ρχείο ονοµασθεί atroisi.asm, ο συνδέτης θα κληθεί ως εξής: Tlink /t atroisi.obj 2.ΒΑΣΙΚΕΣ Ο ΗΓΙΕΣ ΤΟΥ ΜΕΤΑΦΡΑΣΤΗ 2.1 Οδηγία END. Κάθε πρόγραµµα πρέπει να περιέχει την οδηγία END για να δηλώνει το τέλος του πηγαίου κώδικα. Στα.EXE προγράµµατα η ετικέτα µετά την END δηλώνει την δ/νση της πρώτης εντολής του προγράµµατος. Π.χ στο παρακάτω παράδειγµα αφαιρέσεις, εκτελείται πρώτα η παράγραφος ARXH η οποία καλεί την παράγραφο PRAXH : Παράδειγµα προγράµµατος υπ αριθµόν 4 : TITLE AFAIRESH; Τίτλος προγράµµατος KVDIKAS SEGMENT PUBLIC ASSUME CS:KVDIKAS,DS:DEDOMENA PRAXH PROC NEAR mov ax,dedomena mov ds,ax mov al,aritmos1; Ο αριθµός 1 στον καταχωρητή AL sub al,aritmos2; Πρόσθεση και αποθήκευση του αποτελέσµατος στον AL mov apotelesma,al; Αποθήκευση του αποτελέσµατος στην µνήµη mov dl,apotelesma; αποθήκευση του αποτελεσµατος στον DL σύµφωνα µε την 2η ;κλήση του DOS add dl,30h ; Μετατροπή του αριθµού στην ASCII τιµή του χαρακτήρα mov ah,2 ; Αριθµός κλήσης του DOS για εµφάνιση του χαρακτήρα στην οθόνη int 21h ret; Επιστροφή πίσω στο υποπρόγραµµα που κάλεσε παρούσα υπορουτίνα. PRAXH ENDP ARXH PROC NEAR call praxh ; Κλήση του υποπρογράµµατος praxh mov ah,4ch ; Κλήση του DOS για έξοδο από το πρόγραµµα int 21h ; ιακοπή του DOS ARXH ENDP KVDIKAS ENDS 16

17 DEDOMENA SEGMENT PUBLIC aritmos1 db 4 aritmos2 db 3 apotelesma db 0 DEDOMENA ENDS SOROS SEGMENT PARA STACK 'SOROS' db 256 dup (0) SOROS ENDS END ARXH 2.2 Οδηγίες τµηµάτων, διαδικασιών Οι οδηγίες SEGMENT και ENDS καθορίζουν µια οµάδα από δεδοµένα ή εντολές που θέλουµε να τοποθετηθούν µαζί σε ένα τµήµα. Το αναγνωριστικό που προηγείται δηλώνει το όνοµα του τµήµατος. Τα δεδοµένα ή οι εντολές που περιλαµβάνονται µεταξύ SEGMENT και ENDS καλούνται λογικό τµήµα (logical segment). Αντίστοιχα οι οδηγίες PROC και ENDP ορίζουν την αρχή και το πέρας ενός υποπρογράµµατος. Βέβαια οι οδηγίες των υποπρογραµµάτων δεν λύνουν από µόνες το πρόβληµα, αλλά απαιτείται και η χρήση των αντίστοιχων εντολών στον κώδικα (Calls, Ret) για την γραφή δοµηµένων προγραµµάτων. Η οδηγία ASSUME πληροφορεί τον µεταφραστή σε ποιο τµήµα αναφέρονται οι καταχωρητές που χρησιµοποιούµε. Η οδηγία ASSUME CS: είναι απαραίτητη σε κάθε πρόγραµµα.exe για να πληροφορεί τον µεταφραστή ποιο είναι το τµήµα του κώδικα. Οι ASSUME DS: και ASSUME ES είναι απαραίτητες πριν από την χρήση εντολών που έχουν σχέση µε µεταφορά δεδοµένων από και προς δ/νσεις µνήµης, για να πληροφορούν τον µεταφραστή σε πιο φυσικό τµήµα (DATA ή EXTRA) αναφέρεται κάθε λογικό τµήµα. Προσοχή η ASSUME πριν από εντολές που χρησιµοποιούν ετικέτες ( labels ) των τµηµάτων αυτών. Παράδειγµα προγράµµατος υπ αριθµόν 5 : TITLE POLLAPLASIAMOS; Τίτλος του προγράµµατος KVDIKAS SEGMENT PUBLIC ASSUME CS:KVDIKAS,DS:DEDOMENA1 PRAXH PROC NEAR ASSUME DS:DEDOMENA2 ;***** ΠΡΟΣΟΧΗ ΑΠΑΡΑΙΤΗΤΗ Ο ΗΓΙΑ ***** ;για την µετάφραση των δυο παρακάτω mov ax,dedomena2 mov ds,ax mov al,aritmos1; Ο αριθµός 1 στον καταχωρητή AL mov dl,aritmos2; Πρόσθεση και αποθήκευση του αποτελέσµατος στον AL mul dl; Πολλαπλασιασµός AL * DL, αποτέλεσµα στον AX mov apotelesma,al; Αποθήκευση του αποτελέσµατος στην µνήµη mov dl,apotelesma; Μεταφορά του αποτελέσµατος στον DL προκείµενου να εµφανιστεί add dl,30h ; Μετατροπή του αριθµού στην ASCII τιµή του χαρακτήρα mov ah,2 ; Αριθµός κλήσης του DOS για εµφάνιση χαρακτήρα στην οθόνη 17

18 int 21h ret PRAXH ENDP ARXH PROC NEAR ; Από εδώ αρχίζει η εκτέλεση του προγράµµατος call praxh ASSUME DS:DEDOMENA1 mov ax,dedomena1 mov ds,ax lea dx,mhnhma mov ah,09h int 21h mov ah,4ch ; Κλήση του DOS για έξοδο από το πρόγραµµα int 21h ; ιακοπή του DOS ARXH ENDP KVDIKAS ENDS DEDOMENA1 SEGMENT PUBLIC mhnhma db 10,13, "END of PROGRAM",10,13,"$" DEDOMENA1 ENDS DEDOMENA2 SEGMENT PUBLIC aritmos1 db 4 aritmos2 db 2 apotelesma db 0 DEDOMENA2 ENDS SOROS SEGMENT PARA STACK "SOROS" Db 256 dup (0) SOROS ENDS END ARXH ; Το πρόγραµµα αρχίζει να εκτελείται από την δ/νσh ARXH 2.3 Οδηγίες δεδοµένων Η DB ορίζει ότι κάθε ένα από τα δεδοµένα που ακολουθούν καταλαµβάνει χώρο ενός byte, η DW δύο, η DD τέσσερα, η DQ οκτώ και η DT δέκα bytes αντίστοιχα. Η εντολή DUP συνοδεύει µια από τις προηγούµενες και επαναλαµβάνει στην µνήµη το δεδοµένο που ακολουθεί σε παρένθεση τόσες φορές όσο και ο αριθµός που προηγείται. Σηµειώνεται ότι τα δεδοµένα µπορεί να είναι αριθµοί η χαρακτήρες. Η ετικέτα που προηγείται χρησιµεύει σαν µεταβλητή µνήµης. Παράδειγµα µε τις δηλώσεις : ARITMOI DW 10,13,29 MHNHMA DB HELLO PINAK DB 10 DUP (0) εσµεύουµε χώρο 21 bytes στην µνήµη σε τρεις δ/νσεις µνήµης µε συµβολικά ονόµατα : ARITMOI, MHNHMA, PINAK και δίνουµε αρχικές τιµές στις θέσεις µνήµης αυτές. Προφανώς µπορούµε να αλλάξουµε το περιεχόµενο των θέσεων αυτών µέσα στο πρόγραµµα. 18

19 Με την οδηγία LABEL όµως µπορούµε να ορίσουµε ένα σύµβολο (ετικέτα) µε το οποίο και έχουµε διαφορετική προσπέλαση στην ίδια περιοχή µνήµης, από την προκαθορισµένη. Μετά την οδηγία αυτή ακολουθεί ο τύπος του σύµβολου ο οποίος µπορεί να είναι BYTE, WORD, DWORD κ.λτ. Ο τύπος περιγράφει και το µέγεθος του. Παράδειγµα µε την δήλωση : NUM LABEL WORD CHARS DB 10,0 Ορίζουµε µια περιοχή στην µνήµη µεγέθους 2 χαρακτήρων και την ονοµάζουµε CHARS. Στην ίδια περιοχή όµως µπορούµε και έχουµε πρόσβαση µε την ετικέτα NUM σαν WORD όµως. Π.Χ µε την εντολή mov ax,num µεταφέρονται και οι δυο χαρακτήρες στον καταχωρητή AX. 2.4 Οδηγίες για σταθερές Με την οδηγία EQU ορίζουµε ένα σύµβολο µια σταθεράς, ενός αλφαριθµητικού ή ακόµη και εναλλακτικό όνοµα µιας δεσµευµένης λέξης π.χ µιας εντολής. Ο µεταφραστής όπου συναντήσει το σύµβολο πριν από την EQU το αντικαθιστά µε την σταθερά, αλφαριθµητικό ή την λέξη που ακολουθεί την EQU. Χρησιµοποιείται κυρίως για αριθµητικές σταθερές για να είναι το πρόγραµµα πιο ευανάγνωστο και τεκµηριωµένο. Παραδείγµατα: Blocksize EQU 512 BLOCKS EQU 4 Bufsize EQU Blocksize * BLOCKS Mhnhma EQU Τέλος προγράµµατος Τέλος αναφέρουµε το σύµβολο $ που δηλώνει την τρέχουσα θέση και είναι χρήσιµο για να υπολογίζει ο µεταφραστής το µήκος αλφαριθµητικών. Παράδειγµα: mhnhma DB Τέλος προγράµµατος mhkos mhnhma EQU (mhnhma - $) 2.5 Απλοποιηµένες οδηγίες τµηµάτων Εισαγωγή Αντί των κανονικών οδηγιών των τµηµάτων (SEGMENT, ENDS, ASSUME), οι εταιρείες Borland και Microsoft µας παρέχουν την ευχέρεια µε τους σύγχρονους συµβολοµεταφραστές, να χρησιµοποιούµε απλοποιηµένες οδηγίες τµηµάτων (Simplified Directives), µε τις οποίες δίνονται εξ ορισµού ονοµασίες σε τµήµατα, και είναι ευκολότερη η σύνδεση (linking) µε αντικείµενα αρχεία (object modulus) προγραµµάτων γραµµένα σε γλώσσες 3 ης γενιάς. 19

20 Γενικά η χρήση απλοποιηµένων οδηγιών είναι προτιµότερη όταν γράφουµε κώδικα ASSEMBLY, που θα συνδεθεί µε κώδικα γραµµένο σε C, PASCAL, PROLOC, BASIC και άλλη υψηλού επιπέδου γλώσσα, ή όταν γράφουµε προγράµµατα ASSEMBLY µικρού ή µεσαίου µεγέθους. Αντίθετα αν πρόκειται για πρόγραµµα µεγάλου µεγέθους, γραµµένα αποκλειστικά σε assembly, µε πολλά τµήµατα κώδικα και δεδοµένων, µε κλήσεις υποπρογραµµάτων και ενδοτµηµατικές και εξωτµηµατικές (δες τις εντολές CALL και RET), τότε επιβάλλεται η χρήση των κανονικών οδηγιών τµηµάτων. Οι απλοποιηµένες οδηγίες τµηµάτων είναι : DOSSEG,.MODEL,.STACK,.DATA,.CODE Οδηγίες.STACK,.DATA,.CODE. Οι παραπάνω οδηγίες ορίζουν τα τµήµατα σωρού, δεδοµένων και κώδικα αντίστοιχα. Η οδηγία.stack καθορίζει το µέγεθος του σωρού του προγράµµατος και είναι απαραίτητη σε ένα πρόγραµµα.exe. Π.χ µε την δήλωση.stack 200h Ορίζουµε τµήµα σωρού µεγέθους 512 bytes. Με την οδηγία.code ορίζουµε την αρχή του τµήµατος κώδικα. Μετά την οδηγία αυτή ακολουθούν οι εντολές του προγράµµατος ή οι διάφορες διαδικασίες. Με την οδηγία.data ορίζουµε την αρχή του τµήµατος των δεδοµένων. Μετά την οδηγία αυτή ακολουθούν οι δηλώσεις των µεταβλητών µνήµης του προγράµµατος. Βέβαια µε την οδηγία αυτή δεν έχουµε µέσα στο πρόγραµµα µας και αυτόµατη αποκατάσταση του καταχωρητή DS, ούτως ώστε ο DS να έχει την διεύθυνση του τµήµατος των δεδοµένων. Η αποκατάσταση αυτή πρέπει να γίνεται µέσα από το πρόγραµµα µε τις εντολές: mov συµβολίζει την ονοµασία του τµήµατος των δεδοµένων, του κώδικα mov ds,ax ; µε έµµεσο τρόπο ds Η οδηγία DOSSEG Η οδηγία αυτή συνήθως είναι και η πρώτη οδηγία του προγράµµατος. Η οδηγία αυτή οµαδοποιεί και τακτοποιεί τα τµήµατα του προγράµµατος assembly στο εκτελέσιµο αρχείο, σύµφωνα µε την σειρά που προβλέπεται από το MS-DOS λειτουργικό σύστηµα. Σύµφωνα µε την σειρά αυτή ο κώδικας προηγείται, ακολουθούν διάφορα αλλά τµήµατα εκτός του DGROUP και τέλος µπαίνει το DGROUP. Για περισσότερες λεπτοµέρειες να ανατρέξετε στο τεχνικό εγχειρίδιο του MS-DOS Η οδηγία.model 20

21 Με την οδηγία αυτή καθορίζουµε τον µοντέλο της µνήµης του προγράµµατος. Η έννοια µοντέλο σηµαίνει ο τρόπος µε τον οποίο χειρίζεται το πρόγραµµα τον κώδικα και τα δεδοµένα. Όταν λέµε κώδικα εννοούµε ένα σύνολο από υποπρογράµµατα τα οποία συνδέονται µεταξύ τους µε την εντολή κλήσης CALL και την εντολή επιστροφής RET. Τα υποπρογράµµατα αυτά µπορεί να είναι όλα στο ίδιο τµήµα όποτε η κλήσεις αυτές γίνονται µόνο µε την αλλαγή τιµής του καταχωρητή IP ( µόνο µε αλλαγή της µετατόπισης), ή σε άλλο τµήµα (εξωτµηµατικές) οπότε κλήσεις γίνονται µε αλλαγή των τιµών των καταχωρητών CS:IP (των δύο καταχωρητών που καθορίζουν την πλήρη δ/νση της επόµενης προς εκτέλεση εντολής ). Στις ενδοτµηµατικές κλήσεις οι εντολές call και ret είναι near, ένα στις εξωτµηµατικές είναι far. Με όµοιο τρόπο µπορούµε να ξεχωρίσουµε τα δεδοµένα σε ενδοτµηµατικά δεδοµένα και εξωτµηµατικά δεδοµένα. Τα ενδοτµηµατικά δεδοµένα βρίσκονται όλα στο ίδιο τµήµα και µπορούµε να τα προσπελάσουµε µόνο µε την µετατόπιση τους (offset). Τα εξωτµηµατικά δεδοµένα βρίσκονται σε διαφορετικά τµήµατα και για να τα προσπελάσουµε χρειάζεται η πλήρης δ/νσής τους segment:offset. Πρέπει να διευκρινίσουµε εδώ ότι σαν δεδοµένα στην παράγραφο αυτή, θεωρούµε τα δεδοµένα (κυρίως δυναµικής καταχώρησης µνήµης, αλλά και στατικά), τα οποία επεξεργαζόµαστε µε µεταβλητές δείκτες µνήµης (pointers). Στα ενδοτµηµατικά δεδοµένα οι δείκτες αυτοί είναι µεγέθους 2 byte (µόνο µετατόπιση), ενώ στα εξωτµηµατικά δεδοµένα είναι 4 bytes. Τα διαθέσιµα µοντέλα µνήµης είναι τα εξής έξη: Tiny. Πρόκειται για πρόγραµµα.com όλο ενός τµήµατος 65k. Small. Ο κώδικας του προγράµµατος είναι σε ένα τµήµα, και τα δεδοµένα σε ένα άλλο τµήµα. Κλήσεις υποπρογραµµάτων ενδοτµηµατικές και δείκτες µνήµης των 2 bytes. Compact. Ο κώδικας του προγράµµατος σε ένα τµήµα, ενώ τα δεδοµένα σε περισσότερα του ενός τµήµατα. Κλήσεις υποπρογραµµάτων ενδοτµηµατικές και δείκτες µνήµης των 4 bytes. Medium. Ο κώδικας σε περισσότερα του ενός τµήµατα ενώ τα δεδοµένα σε ένα τµήµα. Κλήσεις υποπρογραµµάτων εξωτµηµατικές και δείκτες µνήµης των 2 bytes. Large. Τόσο ο κώδικας όσο και τα δεδοµένα σε περισσότερα του ενός τµήµατα. Κλήσεις υποπρογραµµάτων εξωτµηµατικές και δείκτες µνήµης των 4 bytes. Huge. Το ίδιο µε το προηγούµενο, µε την διάφορα ότι επιτρέπει και την ανάπτυξη των πινάκων σε περισσότερα του ενός τµήµατα. Απαιτεί την χρήση ειδικής βιβλιοθήκης. Ακολουθεί παράδειγµα πρόγραµµα που ελέγχει αν µια µεταβλητή ( η num) µεγέθους µιας word (2 bytes) είναι µηδέν και τυπώνει το αντίστοιχο µήνυµα. Το πρόγραµµα είναι γραµµένο σε small µοντέλο. 21

22 Παράδειγµα προγράµµατος υπ αριθµόν 6 : ; αρχή τµήµατος κώδικα.model small.code mov mov ds,ax mov ax,num or ax,ax ; έλεγχος µέσω της or αν είναι µηδέν jz einai_mhden mov dx, offset mhnhma_oxi mov ah,9; Κλήση του DOS που τυπώνει ένα µήνυµα int 21h ; DOS jmp telos einai_mhden: mov dx,offset mhnhma_nai mov ah,9; κλήση του DOS που τυπώνει ένα µήνυµα int 21h ; DOS telos: mov ah,4ch; κλήση του DOS για τέλος προγράµµατος int 21h ; DOS ; τµήµα δεδοµένων.data num dw 0 mhnhma_nai db 10,13, "It is zero",10,13,'$' mhnhma_oxi db 10,13, "It is not zero",10,13,'$' ;τµήµα σωρού.stack 256 end ΚΕΦΑΛΑΙΟ 3 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ 1.ΕΝΤΟΛΕΣ ΜΕΤΑΦΟΡΑΣ Ε ΟΜΕΝΩΝ 1.1 Εντολή MOV Σύνταξη MOV προορισµός, προέλευση Μεταφέρει δεδοµένα ενός η δύο byte από : καταχωρητή σε καταχωρητή (π.χ MOV AX,BX) καταχωρητή σε θέση µνηµης (π.χ MOV APOT,AL) θέση µνήµης σε καταχωρητή (π.χ MOV DL,APOT) σταθερά τιµή σε καταχωρητή (π.χ MOV AH,21h) σταθερά τιµή σε θέση µνήµης (π.χ MOV ARIT,5) 22

23 Η τελευταία περίπτωση δεν επιτρέπεται σε καταχωρητές τµηµάτων Π.χ MOV DS,DATASEG; δεν επιτρέπεται Και οι δυο τελεστές πρέπει να είναι ίσου µήκους δηλαδή ή και οι δύο είναι µεγέθους 1 byte ή και οι δύο είναι µεγέθους 1 word = 2 bytes. Π.Χ. οι εντολές: MOV ax,dl MOV bh,dx δεν επιτρέπονται. 1.2 Εντολή PUSH και POP Είναι εντολές µεταφοράς δεδοµένων από και προς το σωρό. Ο σωρός (stack) είναι µια περιοχή µνήµης στην οποία οι τιµές µπορούν να αποθηκεύονται και να ανακτούνται σύµφωνα µε την λογική LIFO (Last In First Out). Ο σωρός ενός προγράµµατος είναι ένα και µοναδικό τµήµα η βάση του οποίου έχει δ/νση SS:0000 η δε κορυφή του SS:SP. Η εντολή PUSH ελαττώνει τον SP κατά 2 και στην συνέχεια µεταφέρει µια λέξη (2 bytes) στην κορυφή του σωρού. Η εντολή POP µεταφέρει την λέξη που βρίσκεται στην κορυφή του σωρού στον τελεστή προορισµού και στην συνέχεια αυξάνει τον SP κατά 2. Τελεστής µπορεί να είναι ή καταχωρητής ή δ/νση µνήµης των 16 bit, όχι όµως σταθερά. Π.χ. Αν SP=100h, SS=1000h, Ax=12. Μετά από την εκτέλεση της εντολής : PUSH ax SP=0FEh και η δ/νση 1000:00FE περιέχει την τιµή 12. Η εντολή PUSH 10 δεν είναι επιτρεπτή. Αντίστοιχες προς τις παραπάνω εντολές είναι οι PUSHF, POPF οι οποίες συντάσσονται χωρίς τελεστή και µεταφέρουν από και προς το σωρό το περιεχόµενο του καταχωρητή κατάστασης. 1.3 Εντολή XCHG Ανταλλάσσει τα περιεχόµενα των δυο τελεστών (προέλευσης µε προορισµό) που ηµπορεί να είναι bytes ή words. Οι τελεστές µπορεί να είναι καταχωρητές ή θέσεις µνήµης. Απαγορεύεται να είναι όµως και οι δυο θέσεις µνήµης. Π.χ. Αν AX=14, BX=15, µετά την εντολή : 23

24 XCHG ax,bx Ο ax=15 και bx=14. 2.ΑΡΙΘΜΗΤΙΚΕΣ ΛΟΓΙΚΕΣ ΕΝΤΟΛΕΣ. 2.1 Αριθµητικές εντολές Ο 8086 από µόνος του διαθέτει περιορισµένες δυνατότητες αριθµητικών πράξεων. ιαθέτει εντολές µόνο πρόσθεσης, αφαιρέσεις, πολλαπλασιασµού και διαίρεσης σε προσηµασµένους και µη ακέραιους δυαδικούς αριθµούς των 8 ή των 16 bits. Οι αρνητικοί αριθµοί συµβολίζονται µε την λογική του συµπληρώµατος ως προς δύο (two s complement). Υποστηρίζει και πράξεις των 32 bits αλλά µε περισσότερες της µια εντολές. Πράξεις µε αριθµούς κινητής υποδιαστολής δεν υποστηρίζει. Οι πράξεις αυτές εκτελούνται ή από µαθηµατικό συνεπεξεργαστή εάν υπάρχει, ή από υποπρογράµµατα που περιέχουν πολυάριθµες εντολές ολισθήσεων, προσθέσεων και συγκρίσεων. 2.2 Πρόσθεση Αφαίρεση Οι εντολές είναι ADD και SUB και συντάσσονται όπως ακριβώς ή MOV δηλαδή : ADD προορισµός, προέλευση SUB προορισµός, προέλευση Ως προς τους τελεστές ισχύουν οι περιορισµοί της εντολείς MOV και επιπλέον ότι απαγορεύεται η χρήση καταχωρητών τµηµάτων. Οι εντολές ADC και SBB είναι παρόµοιες µε τις προηγούµενες µε επιπλέον στοιχείο ότι λαµβάνουν υπόψη την τιµή της Carry Flag, δηλαδή προσθέτουν ή αφαιρούν αντίστοιχα και το περιεχόµενο της CF. Είναι χρήσιµες για πράξεις των 32 bits. Παράδειγµα µε τον κώδικα που ακολουθεί προστίθεται ο 32 bit αριθµός που το περιεχόµενο του είναι αποθηκευµένο στους καταχωρητές CX:BX στον 32 bit αριθµό DX:AX. add ax,bx adc dx,cx ; αν υπάρχει κρατούµενο από τα χαµηλά 16 bit προστίθεται Ο 8086 διαθέτει εντολές αύξησης και µειώσεις κατά 1 INC και DEC. Οι εντολές αυτές είναι ιδιαίτερα χρήσιµες σε µετρητές και επεξεργασία πινάκων, συντάσσονται µε ένα τελεστή καταχωρητή ή µεταβλητή µνήµης. Οι εντολές : INC <τελεστής> DEC <τελεστής> είναι µικρότερες και ταχύτερες από τις αντίστοιχες : ADD <τελεστής>, 1 SUB <τελεστής>, 1 24

25 2.2 Πολλαπλασιασµός ιαίρεση Η εντολή MUL συντάσσεται: MUL <προέλευση> Όπου προέλευση ένας τελεστής γενικής χρήσης καταχωρητή ή µεταβλητή µνήµης. Αν ο τελεστής είναι ενός byte τότε η προέλευση πολλαπλασιάζει το περιεχόµενο του AL και το αποτέλεσµα αποθηκεύεται στον AX. Αν ο τελεστής είναι δυο byte τότε η προέλευση πολλαπλασιάζει το περιεχόµενο του AX και το αποτέλεσµα αποθηκεύεται σαν διπλή λέξη στους καταχωρητές DX:AX. Ο πολλαπλασιασµός θεωρείται µη προσηµασµένος. Η εντολή IMUL είναι παρόµοια αλλά για προσηµασµένο πολλαπλασιασµό Π.χ. αν AL=10 και DL=15 µετά την εντολή : MUL DL Ο AX = 150. Η εντολή DIV συντάσσεται DIV <προέλευση> Όπου προέλευση ένας τελεστής γενικής χρήσης καταχωρητής ή µεταβλητή µνήµης. Αν ο τελεστής είναι ενός byte τότε η προέλευση διαιρεί το περιεχόµενο του AX και το µεν πηλίκο της διαιρέσεις αποθηκεύεται στον AL το δε υπόλοιπο στον AH. Αν ο τελεστής είναι δύο byte τότε η προέλευση διαιρεί το περιεχόµενο της διπλής λέξης που είναι αποθηκευµένο στους DX:AX και το µεν πηλίκο της διαίρεσης αποθηκεύεται στον AX το δε υπόλοιπο στον DX. Η διαίρεση θεωρείται µη προσηµασµένη. Η εντολή IDIV είναι παρόµοια αλλά για προσηµασµένη διαίρεση. Π.χ. αν AX=115 και DL=10 µετά την εντολή : DIV DL Ο AH =5 και AL = 11. Τέλος αναφέρουµε την εντολή NEG <προορισµός> η οποία αλλάζει το πρόσηµο του τελεστή σε συµπλήρωµα ως προς δύο. 2.3 Λογικές πράξεις Ο 8086 διαθέτει πλήρες σύνολο λογικών εντολών AND, OR, XOR και NOT. Οι εντολές αυτές είναι πολύ χρήσιµες για την επεξεργασία µεµονωµένων bit ενός byte ή µιας λέξης. Οι πράξεις σε δεδοµένα bit γίνονται συµφωνά µε τους γνωστούς πίνακες αλήθειας. Οι δε λογικές πράξεις εκτελούν τις πράξεις µε προσανατολισµό σε bit ενεργώντας στα αντίστοιχα bits των τελεστών Π.Χ αν AL= b, AH= b µετά την εκτέλεση της εντολής : AND al,ah ο al = b 25

26 ηλαδή η παραπάνω εντολή εκτελεί ένα λογικό ΚΑΙ του 0 bit του al µε το 0 bit του ah, του 1 bit του al µε το 1 bit του ah και ούτω καθεξής. Οι AND, OR, XOR συντάσσονται µε δύο τελεστές, η NOT µε έναν. Προορισµός είναι ο πρώτος τελεστής όπως στις αριθµητικές πράξεις, και ως προς το είδος των τελεστών ισχύουν τα ίδια µε τις αριθµητικές πράξεις. 3.ΟΛΙΣΘΗΣΕΙΣ ΠΕΡΙΣΤΡΟΦΕΣ Ο 8086 διαθέτει µια ποικιλία εντολών µε τις οποίες µπορεί να µετακινεί bits αριστερά και δεξιά σε έναν καταχωρητή ή στην µνήµη. Οι σηµαντικότερες από αυτές είναι : CF SHL ή SAL 0 Η SHL ή SAL µετακινεί κάθε bit του τελεστή µια θέση προς τα αριστερά προς την κατεύθυνση του σηµαντικότερου bit. Το σηµαντικότερα bit µετακινείται στην CF και στο χαµηλότερο bit εισέρχεται ένα 0. Ισοδυναµεί µε ταχύτατο πολλαπλασιασµό του τελεστή επί 2. 0 SHR CF Η SHR µετακινεί κάθε bit του τελεστή µια θέση προς τα δεξιά. Το µη σηµαντικότερο bit (υπ αριθµ. 0) µετακινείται στην CF και στο υψηλότερο bit εισέρχεται ένα 0. Ισοδυναµεί µε ταχύτατη µη προσηµασµένη διαίρεση του τελεστή δια 2. 26

27 SAR CF Η SAR είναι παρόµοια προς την προηγούµενη εντολή δηλαδή µετακινεί κάθε bit του τελεστή µια θέση προς τα δεξιά αλλά το σηµαντικότερο bit αφού µετακινηθεί προς τα δεξιά επιστρέφει στην θέση του. Ισοδυναµεί µε ταχύτατη προσηµασµένη διαίρεση του τελεστή δια 2. Υπάρχουν οι εξής 4 εντολές περιστροφής: ROR CF H ROR είναι παρόµοια µε την SHR µε την διαφορά ότι το ολιγότερο σηµαντικό bit µεταφέρεται στο σηµαντικότερο bit καθώς και στην CF. 27

28 ROL CF Η ROL είναι αντίστροφος της προηγούµενης εντολής. Περιστρέφει τα bits κατά αριστερή φορά. RCR CF CF RCL 28

29 Η RCL και RCR είναι λίγο διαφορετικές από τις προηγούµενες. Στις εντολές αυτές κατά την περιστροφή συµµετέχει και η CF. ηλαδή κατά την RCL τα bits ολισθαίνουν προς τα αριστερά, το σηµαντικότερο bit µεταφέρεται στην CF και το περιεχόµενο της CF µεταφέρεται στο υπ αριθµ. 0 bit. Η RCR λειτουργεί αντίστροφα. Όλες οι παραπάνω εντολές συντάσσονται µε δυο τρόπους. Εφόσον οι ολισθήσεις ή περιστροφές είναι µια ο δεύτερος τελεστής είναι 1, αλλιώς δεύτερος τελεστής είναι ο καταχωρητής CL ο οποίος και καθορίζει το αριθµό των περιστροφών ή ολισθήσεων. Π.χ µε την εντολή: SHL AX,1 Πολλαπλασιάζεται το περιεχόµενο του AX επί 2. Ενώ µε τις εντολές : MOV CL,4 SHL AX,CL Πολλαπλασιάζεται το περιεχόµενο του AX επί ΑΛΛΑΓΗ ΡΟΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΥΓΚΡΙΣΕΙΣ ΕΝΤΟΛΕΣ ΕΙΚΤΩΝ 4.1 Εισαγωγή Κατά την εκτέλεση ενός προγράµµατος κανονικά οι εντολές του αναλύονται και εκτελούνται ακολουθησιακά, γραµµικά. Αλλά ένα θεµελιώδες χαρακτηριστικό κάθε χρήσιµου υπολογιστή είναι η παρουσία εντολών µε τις οποίες διακλαδώνεται το πρόγραµµα σε εντολή άλλη από την επόµενη που ακολουθεί στην µνήµη. Περιλαµβάνονται εντολές διακλαδώσεων χωρίς συνθήκη, αλλά και είτε πολύ χρήσιµες εντολές µε της οποίες η διακλάδωση εξαρτάται από την κατάσταση των σηµαιών ή από το αποτέλεσµα της πράξης. Υπενθυµίζεται ότι οι αριθµητικές, λογικές πράξεις και οι περιστροφές είναι γνωστό βέβαια επηρεάζουν την κατάσταση των δεικτών κατάστασης. Οι σηµαντικότεροι δείκτες κατάστασης είναι οι CF, OF, ZF. 4.2 ιακλαδώσεις χωρίς συνθήκη Η εντολή είναι η JMP <ετικέτα> Η διακλαδώσει µπορεί να είναι : - Σε σχετική διεύθυνση ενός byte ( -128 έως +127 ) θέσεων από την διεύθυνση της επόµενης εντολής κλήσεως. Στην περίπτωση αυτή είναι υποχρεωτική η χρήση της οδηγίας SHORT. - Σε σχετική διεύθυνση µιας λέξης ( έως ) θέσεων από την διεύθυνσης της επόµενης εντολής κλήσεως. Η διακλάδωση αυτή είναι στο ίδιο τµήµα κώδικα (ενδοτµηµατική). 29

30 - Σε σχετική διεύθυνση δύο λέξεων θέσεων. Στην περίπτωση αυτή είναι υποχρεωτική η χρήση της οδηγίας FAR PTR. Η διακλάδωση αυτή καλύπτει όλο το χώρο της µνήµης του Η δ/νση µπορεί να είναι σταθερή (άµεση) ή µεταβλητή (έµµεση). Παραδείγµατα : a:.. jmp SHORT a; άµεση ενός byte διακλάδωση στο label a a:.. jmp FAR PTR a; άµεση εξωτµηµατική διακλάδωση στο label a a:.. mov ax, OFFSET a jmp ax ; έµµεση ενδοτµηµατική διακλάδωση στο label a a:.. jmp word ptr [b] ; έµµεση ενδοτµηµατική διακλάδωση στο label a.. b dw offset a 4.3 ιακλαδώσεις µε συνθήκη Συγκρίσεις Ο 8086 διαθέτη 18 εντολές διακλαδώσεων µε τις οποίες υπάρχει η δυνατότητα διακλάδωσης ανάλογα µε την τιµή µιας σηµαίας ή συνδυασµού σηµαιών. Ειδικά αναφέρουνε ότι αν ελέγχουµε το αποτέλεσµα πράξεων µε µη προσηµασµένους αριθµούς τότε λαµβάνεται υπόψη µεταξύ των άλλων η CF ( Carry Flag), ενώ σε προσηµασµένους αριθµούς ελέγχεται η OF (Overflow Flag) και η SF (Sign Flag). Πολύ συχνά µιας εντολής διακλάδωσης µε συνθήκη προηγείται µια εντολή σύγκρισης CMP όποτε και η διακλάδωση πραγµατοποιείται ή όχι, ανάλογα µε το αποτέλεσµα της σύγκρισης. Η εντολή σύγκρισης συντάσσεται όπως η εντολή αφαίρεσης SUB: CMP <προορισµός>, <προέλευση> Η CMP συγκρίνει τον προορισµό µε την προέλευση, δηλαδή όπως και η SUB αφαιρεί από τον προορισµό την προέλευση, ενηµερώνει τους δείκτες κατάστασης (Flags) ανάλογα µε το αποτέλεσµα της πράξης αλλά το αποτέλεσµα της πράξης δεν το αποθηκεύει πουθενά, δηλαδή οι τελεστές της σύγκρισης δεν αλλάζουν τιµή. Π.χ CMP AL,6 JA a ; ιακλάδωση αν το περιεχόµενο του AL >

31 a: Παρόµοια µε την CMP είναι η εντοµή TEST η οποία συντάσσεται µε δύο τελεστές (προορισµός, προέλευση) και εκτελεί λογικό AND µεταξύ των δύο τελεστών (Byte ή λέξεων) ενηµερώνει τις σηµαίες, αλλά δεν επιστέφει αποτέλεσµα (δεν αλλοιώνονται οι τελεστές). Η εντολή TEST είναι χρήσιµη για τον έλεγχο της τιµής συγκεκριµένων bits ενός τελεστή και συνδυάζεται συνήθως µε την εντολή JNZ. Π.χ το παρακάτω τµήµα προγράµµατος ελέγχει αν ένας ακέραιος αριθµός διαιρείται ακριβώς, µε το 4. Παράδειγµα προγράµµατος υπ αριθµόν 7 :.MODEL SMALL ; µικρό µοντέλο µνήµης.code mov mov ds,ax MOV AX,ARIT; Ο αριθµός στον συσσωρευτή TEST AX, h; έλεγχος αν είναι µηδέν τα δύο τελευταία bit JNZ NOT EVEN; αν δεν είναι άλµα στην εκτύπωση δεν είναι LEA DX,MHNHMA EINAI; εκτύπωση MOV AH,09 ; µηνύµατος είναι INT 21H Jmp TELOS NOT EVEN: LEA DX,MHNHMA DEN EINAI; εκτύπωση MOV AH,09 ; µηνύµατος INT 21H ; δεν είναι TELOS: mov ah,4ch; έξοδος int 21h ; από το πρόγραµµα.data MHNHMA EINAI db "4 is a divisor of arit",10,13,"$" MHNHMA DEN EINAI db "4 is not a divisor of arit",10,13,"$" arit dw 1201.stack 100h end Ακολουθεί Πίνακας των εντολών µε συνθήκη µαζί µε τα συνώνυµα τους καθώς και τις τιµές των σηµαιών σύµφωνα µε τις οποίες θα πραγµατοποιηθεί ή όχι διακλάδωση: 31

32 Όνοµα Περιγραφή είκτες που ελέγχονται JB/JNAE JAE/JNB JBE/JNA ιακλάδωση εάν είναι µικρότερο µη προσηµασµένο ιακλάδωση εάν δεν είναι µικρότερο µη προσηµασµένο ιακλάδωση εάν δεν είναι µεγαλύτερο µη προσηµασµένο CF=1 CF=0 CF=1 ή ZF=1 JA/JNBE ιακλάδωση εάν είναι µεγαλύτερο µη προσηµασµένο CF=0 και ZF=0 JE/JZ ιακλάδωση αν είναι ίσο ZF=1 JNE/JNZ ιακλάδωση αν είναι άνισα ZF=0 JL/JNGE ιακλάδωση εάν είναι µικρότερο προσηµασµένο SF<>OF JGE/JNL JLE/JNG ιακλάδωση εάν δεν είναι µικρότερο προσηµασµένο ιακλάδωση εάν δεν είναι µεγαλύτερο προσηµασµένο SF=OF ZF=1 ή SF<>OF JG/JNLE ιακλάδωση εάν είναι µεγαλύτερο προσηµασµένο JP/JPE ιακλάδωση εάν υπάρχει ισοτιµία ZF=O και SF = OF PF=1 JNP/JPO ιακλάδωση εάν δεν υπάρχει ισοτιµία PF=0 JS ιακλάδωση εάν αρνητικό αποτέλεσµα JNS ιακλάδωση εάν θετικό αποτέλεσµα JC ιακλάδωση εάν υπάρχει κρατούµενο SF=1 SF=0 CF=1 JNC ιακλάδωση εάν δεν υπάρχει κρατούµενο CF=0 JO ιακλάδωση εάν υπάρχει υπέρβαση κρατουµένου OF=1 32

33 JNO ιακλάδωση εάν δεν υπάρχει υπέρβαση κρατουµένου OF=0 Παρόλη την ευελιξία τους οι εντολές διακλαδώσεων υπό συνθήκη παρουσιάζουν τον περιορισµό ότι είναι διακλαδώσεις µεγέθους ενός προσηµασµένου byte. ηλαδή η ετικέτα διακλαδώσεις πρέπει να απέχει από το 128 έως +127 θέσεις (Bytes) από την δ/νση της επόµενης εντολής. Για µεγαλύτερου µεγέθους διακλαδώσεις γίνεται συνδυασµός µιας διακλάδωσης µε συνθήκη και µιας χωρίς συνθήκη. Παράδειγµα η µικρού µεγέθους διακλάδωση: CMP DL,7 JA A... A: Αντικαθίσταται µε την µεγάλου µεγέθους ισοδύναµη της: CMP DL,7 JNA B JMP A B:. A: 4.4 Εντολές βρόγχων επανάληψης Οι βρόγχοι είναι ένα τµήµα κώδικα το οποίο τελειώνει µε συνθήκη διακλάδωσης στην αρχή του. Κατ αυτόν τον τρόπο το τµήµα αυτό εκτελείται συνεχώς έως ότου ικανοποιηθεί η συνθήκη. Οι βρόγχοι είναι πολύ χρήσιµοι για τον χειρισµό πινάκων, εισαγωγή αλφαριθµητικών από το πληκτρολόγιο, έλεγχο της κατάστασης θυρών εισόδου ή εξόδου, εµφάνιση αλφαριθµητικών στην οθόνη, καθυστερήσεις κ.α. Ο 8086 διαθέτει ορισµένες χρήσιµες ειδικές εντολές βρόγχων επανάληψης : LOOP, LOOPE, LOOPNE και JCXZ. Συντάσσονται όλες µε ένα τελεστή που είναι η ετικέτα διακλάδωσης. Όλες ελέγχουν την τιµή του καταχωρητή CX ο οποίος χρησιµεύει σαν µετρητής βρόγχων επανάληψης. Ειδικότερα η LOOP µειώνει κατά 1 τον CX και εάν η τιµή του δεν είναι 0 πραγµατοποιείται η διακλάδωση, αλλιώς εκτελείται η εντολή που βρίσκεται µετά την LOOP. Π.χ το παρακάτω τµήµα κώδικα τυπώνει 18 χαρακτήρες ενός µηνύµατος, στην οθόνη. mhnhma DB ΤΕΛΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ.... mov cx,18; µετρητής επανάληψης lea bx,mhmnhma; ενεργός δ/νση ή µετατόπιση της µεταβλητής ; mhnhma στον καταχωρητή δείκτη bx 33

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

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

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 4: Πολλαπλασιασμός (MUL,IMUL). Διαίρεση (DIV,IDIV). Εμφάνιση αλφαριθμητικού. Εμφάνιση χαρακτήρα.

Διαβάστε περισσότερα

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή Εισαγωγή Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ Σκοπός του εργαστηρίου είναι να γνωρίσουµε την εσωτερική δοµή και αρχιτεκτονική της κεντρικής µονάδας επεξεργασίας, να κατανοήσουµε τον τρόπο µε τον οποίο λειτουργεί

Διαβάστε περισσότερα

Ερωτήσεις θεωρίας MY. Μέρος Α. Υλικό.

Ερωτήσεις θεωρίας MY. Μέρος Α. Υλικό. Ερωτήσεις θεωρίας MY Μέρος Α. Υλικό. 1. Η μνήμη ROM είναι συνδυαστικό ή ακολουθιακό κύκλωμα; 2. α) Να σχεδιαστεί μία μνήμη ROM που να δίνει στις εξόδους της το πλήθος των ημερών του μήνα, ο αριθμός του

Διαβάστε περισσότερα

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

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ 4 ο Εξάμηνο Μαδεμλής Ιωάννης ΥΠΟΡΟΥΤΙΝΕΣ ΕΡΓΑΣΤΗΡΙΟ 6 Οι υπορουτίνες αποτελούν αυτόνομα τμήματα κώδικα που διεκπεραιώνουν μία συγκεκριμένη εργασία και μπορούμε να τα καλούμε

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 11 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

Διαβάστε περισσότερα

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα 1. Ποια είναι η σχέση της έννοιας του μικροεπεξεργαστή με αυτή του μικροελεγκτή; Α. Ο μικροεπεξεργαστής εμπεριέχει τουλάχιστο έναν μικροελεγκτή. Β. Ο

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 10: Πέρασμα Παραμέτρων σε Διαδικασίες. Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα

Οδηγός Εκμάθησης στην Assembly 8086 1

Οδηγός Εκμάθησης στην Assembly 8086 1 Οδηγός Εκμάθησης στην Assembly 8086 1 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http:// arch.icte.uowm.gr/mdasyg

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 07 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

Διαβάστε περισσότερα

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Αριθμός bit δίαυλου δεδομένων (Data Bus) Αριθμός bit δίαυλου διευθύνσεων (Address Bus) Μέγιστη συχνότητα λειτουργίας (Clock Frequency) Τύποι εντολών Αριθμητική

Διαβάστε περισσότερα

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

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ 4 ο Εξάμηνο Μαδεμλής Ιωάννης ΛΟΓΙΚΕΣ ΠΡΑΞΕΙΣ Οι λογικές πράξεις που υποστηρίζει η Assembly του 8088 είναι : Πράξη AND Πράξη OR Πράξη NOT Πράξη XOR Με τις λογικές πράξεις μπορούμε

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 6: inc, dec, loop, jcxz, dup, displacement Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο

Διαβάστε περισσότερα

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

Οργάνωση Υπολογιστών (Ι) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Οργάνωση Υπολογιστών (Ι) (η κεντρική μονάδα επεξεργασίας) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα

Διαβάστε περισσότερα

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07 Ενότητα 4 Εισαγωγή στην Πληροφορική Κεφάλαιο 4Α: Αναπαράσταση πληροφορίας Κεφάλαιο 4Β: Επεξεργαστές που χρησιµοποιούνται σε PCs Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No 05 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

Διαβάστε περισσότερα

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι)

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Οργάνωση Υπολογιστών (Ι) (η κεντρική μονάδα επεξεργασίας) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα

Διαβάστε περισσότερα

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

Διαβάστε περισσότερα

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑΤΩΝ ΕΞΕΤΑΣΕΩΝ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεµατική Ενότητα ΠΛΗ 2: Ψηφιακά Συστήµατα Ακαδηµαϊκό Έτος 24 25 Ηµεροµηνία Εξέτασης 29.6.25 Χρόνος Εξέτασης

Διαβάστε περισσότερα

Εργαστήριο ΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ

Εργαστήριο ΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Εισαγωγή Εργαστήριο ΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Σκοπός του εργαστηρίου είναι να κατανοήσουµε τους τρόπους προσπέλασης της µνήµης (µέθοδοι διευθυνσιοδότησης) σε ένα υπολογιστικό σύστηµα. Η Μνήµη 1 Ψηφιακή Λογική 4

Διαβάστε περισσότερα

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

Διαβάστε περισσότερα

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

Οργάνωση Η/Υ. Ο Επεξεργαστής TRN. Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου Οργάνωση Η/Υ Ο Επεξεργαστής TRN Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου ΚMΕ Κυριότεροι Καταχωρητές της ΚΜΕ του υπολογιστή TRN IR (20 bits) X (20 bits) I

Διαβάστε περισσότερα

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 2 ο Τύποι Δεδοµένων Δήλωση Μεταβλητών Έξοδος Δεδοµένων Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Μνήµη και Μεταβλητές Σχέση Μνήµης Υπολογιστή και Μεταβλητών Η µνήµη (RAM) ενός

Διαβάστε περισσότερα

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2014 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 201 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

Διαβάστε περισσότερα

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ Βιβλιογραφία Ενότητας Kehtarnavaz [2005]: Chapter 3 Kuo [2005]: Chapters 1 & 4-5 Lapsley [2002]: Chapter 4 Hayes [2000]: Κεφάλαιo 8

Διαβάστε περισσότερα

Τα µπιτ και η σηµασία τους. Σχήµα bit. ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (1/2) 1.7 Αποθήκευση κλασµάτων 1.8 Συµπίεση δεδοµένων 1.9 Σφάλµατα επικοινωνίας

Τα µπιτ και η σηµασία τους. Σχήµα bit. ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (1/2) 1.7 Αποθήκευση κλασµάτων 1.8 Συµπίεση δεδοµένων 1.9 Σφάλµατα επικοινωνίας ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (1/2) ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (2/2) 1.1 Τα bits και ο τρόπος που αποθηκεύονται 1.2 Κύρια µνήµη 1.3 Αποθηκευτικά µέσα 1.4 Αναπαράσταση πληροφοριών ως σχηµάτων bits

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων 2.1 Αρχιτεκτονική Υπολογιστών 2.1 Αρχιτεκτονική Υπολογιστών 2.2 Γλώσσα Μηχανής 2.3 Εκτέλεση προγράµµατος 2.4 Αριθµητικές και λογικές εντολές 2.5 Επικοινωνία µε άλλες συσκευές

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ 1. Υπορουτίνες Μαθηµατικών Πράξεων 1.1. Προσηµασµένοι και απροσήµαστοι αριθµοί 1.2. Μετατροπές προσηµασµένων και απροσήµαστων αριθµών

ΠΕΡΙΕΧΟΜΕΝΑ 1. Υπορουτίνες Μαθηµατικών Πράξεων 1.1. Προσηµασµένοι και απροσήµαστοι αριθµοί 1.2. Μετατροπές προσηµασµένων και απροσήµαστων αριθµών ΠΕΡΙΕΧΟΜΕΝΑ 1. Υπορουτίνες Μαθηµατικών Πράξεων 1.1. Προσηµασµένοι και απροσήµαστοι αριθµοί 1.2. Μετατροπές προσηµασµένων και απροσήµαστων αριθµών Cr0 Μετατροπή αριθµού 8 Bits από µορφή προσηµασµένου µε

Διαβάστε περισσότερα

ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΦΕΒ 2014 Καθηγητής: Νικολαΐδης Νικ. Ημ/νία εξέτασης: 10-2-2014

ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΦΕΒ 2014 Καθηγητής: Νικολαΐδης Νικ. Ημ/νία εξέτασης: 10-2-2014 ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΦΕΒ 2014 Καθηγητής: Νικολαΐδης Νικ. Ημ/νία εξέτασης: 10-2-2014 ΘΕΜΑ 1 α) Τι διαφέρει μία ROM από μία PAL; Οι ROM έχουν σταθερό αποκωδικοποιητή ο οποίος σχηματίζει όλα τα

Διαβάστε περισσότερα

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 Μάθημα : Μικροϋπολογιστές Τεχνολογία Τ.Σ. Ι, Θεωρητικής κατεύθυνσης Ημερομηνία

Διαβάστε περισσότερα

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

a = 10; a = k; int a,b,c; a = b = c = 10; C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 4 ο Τελεστές Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Ο τελεστής εκχώρησης = Ο τελεστής = χρησιµοποιείται για την απόδοση τιµής (ή αλλιώς ανάθεση τιµής) σε µία µεταβλητή Π.χ.

Διαβάστε περισσότερα

(Ιούνιος 2001 ΤΕΕ Ηµερήσιο) Σε κάθε µία από τις παρακάτω περιπτώσεις, να

(Ιούνιος 2001 ΤΕΕ Ηµερήσιο) Σε κάθε µία από τις παρακάτω περιπτώσεις, να Κεεφάάλλααι ιοο:: 3Β ο Τίττλλοοςς Κεεφααλλααί ίοουυ: : Αρχιτεκτονική Ηλ/κου Τµήµατος των Υπολ. Συστηµάτων (Ιούνιος 2001 ΤΕΕ Ηµερήσιο) Σε κάθε µία από τις παρακάτω περιπτώσεις, να αναφέρετε τις τιµές των

Διαβάστε περισσότερα

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

Σύγχρονες Αρχιτεκτονικές Υπολογιστών ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΜΑΤΙΚΗΣ Σύγχρονες Αρχιτεκτονικές Υπολογιστών ΑΚΑ ΗΜΑΪΚΟ ΕΤΟΣ 2014-2015 Αρχιτεκτονική Συνόλου Εντολών (Instruction Set Architecture-ISA) 1 Ένας υπολογιστής

Διαβάστε περισσότερα

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

Διαβάστε περισσότερα

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

Δυαδικό Σύστημα Αρίθμησης Δυαδικό Σύστημα Αρίθμησης Το δυαδικό σύστημα αρίθμησης χρησιμοποιεί δύο ψηφία. Το 0 και το 1. Τα ψηφία ενός αριθμού στο δυαδικό σύστημα αρίθμησης αντιστοιχίζονται σε δυνάμεις του 2. Μονάδες, δυάδες, τετράδες,

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: Λειτουργίες Αρχείων Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

Διαβάστε περισσότερα

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

Ι ΑΣΚΩΝ ΚΑΘΗΓΗΤΗΣ: ΚΑΘΗΓΗΤΗΣ ΕΦΑΡΜΟΓΩΝ ΠΑΡΑΡΤΗΜΑ ΚΑΣΤΟΡΙΑΣ ΤΕΙ ΥΤΙΚΗΣ ΜΑΚΕ ΟΝΙΑΣ Ι ΑΣΚΩΝ ΚΑΘΗΓΗΤΗΣ: ΦΩΤΙΑ ΗΣ Α. ΗΜΗΤΡΗΣ M.Sc. ΚΑΘΗΓΗΤΗΣ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Τ.Ε. ΠΑΡΑΡΤΗΜΑ ΚΑΣΤΟΡΙΑΣ ΤΕΙ ΥΤΙΚΗΣ ΜΑΚΕ ΟΝΙΑΣ ΙΑΚΟΠΕΣ (INTERRUPTS) ΟΙ ΙΑΚΟΠΕΣ ΕΙΝΑΙ «ΣΥΜΒΑΝΤΑ», ΕΣΩΤΕΡΙΚΑ

Διαβάστε περισσότερα

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

Ψηφιακοί Υπολογιστές 1 η Θεµατική Ενότητα : υαδικά Συστήµατα Ψηφιακοί Υπολογιστές Παλαιότερα οι υπολογιστές χρησιµοποιούνταν για αριθµητικούς υπολογισµούς Ψηφίο (digit) Ψηφιακοί Υπολογιστές Σήµατα (signals) : διακριτά στοιχεία

Διαβάστε περισσότερα

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βασικές Έννοιες Προγραμματισμού. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βασικές Έννοιες Προγραμματισμού. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Βασικές Έννοιες Προγραμματισμού Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Αριθμητικά συστήματα Υπάρχουν 10 τύποι ανθρώπων: Αυτοί

Διαβάστε περισσότερα

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2008 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2008 Τεχνολογία Ι Θεωρητικής Κατεύθυνσης Τεχνικών Σχολών Μάθημα : Μικροϋπολογιστές

Διαβάστε περισσότερα

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

Διαβάστε περισσότερα

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

Εισαγωγή στην επιστήμη των υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 3ο Αναπαράσταση Αριθμών www.di.uoa.gr/~organosi 1 Δεκαδικό και Δυαδικό Δεκαδικό σύστημα 2 3 Δεκαδικό και Δυαδικό Δυαδικό Σύστημα

Διαβάστε περισσότερα

Τεχνολογία Υπολογιστικών Συστηµάτων & Λειτουργικά Συστήµατα Κεφάλαιο 3

Τεχνολογία Υπολογιστικών Συστηµάτων & Λειτουργικά Συστήµατα Κεφάλαιο 3 Τεχνολογία Υπολογιστικών Συστηµάτων & Λειτουργικά Συστήµατα Κεφάλαιο 3 Κεφάλαιο 3 Οργάνωση και Λειτουργία Επεξεργαστών Σκοπός του κεφαλαίου αυτού είναι να περιγράψει την εσωτερική οργάνωση των υπολογιστών,

Διαβάστε περισσότερα

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

5.1 Θεωρητική εισαγωγή ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 5 ΚΩ ΙΚΟΠΟΙΗΣΗ BCD Σκοπός: Η κατανόηση της µετατροπής ενός τύπου δυαδικής πληροφορίας σε άλλον (κωδικοποίηση/αποκωδικοποίηση) µε τη µελέτη της κωδικοποίησης BCD

Διαβάστε περισσότερα

Περιεχόµενα. I Βασικές Γνώσεις 1

Περιεχόµενα. I Βασικές Γνώσεις 1 Περιεχόµενα I Βασικές Γνώσεις 1 1 Μοντελοποίηση Προγραµµάτων 3 1.1 Ψευδογλώσσα....................... 6 1.2 Διαγράµµατα Ροής..................... 6 1.3 Παραδείγµατα σε Ψευδογλώσσα και Διαγράµµατα Ροής.

Διαβάστε περισσότερα

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους;

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους; Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) (Δομή Εντολών και Παραδείγματα) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης Αρχιτεκτονική

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Ι Αρχιτεκτονική Υπολογιστών Ι Επιλεγμένες εντολές και συναρτήσεις assembly Από το βιβλίο Αρχιτεκτονική Υπολογιστών & Προγραμματισμός Assembly (Συγγραφέας / Εκδότης : Παναγιώτης Παπάζογλου) Δρ. Παναγιώτης

Διαβάστε περισσότερα

Εντολές γλώσσας μηχανής

Εντολές γλώσσας μηχανής Εντολές γλώσσας μηχανής Στον υπολογιστή MIPS η εντολή πρόσθεσε τα περιεχόμενα των καταχωρητών 17 και 20 και τοποθέτησε το αποτέλεσμα στον καταχωρητή 9 έχει την μορφή: 00000010001101000100100000100000 Πεδία

Διαβάστε περισσότερα

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

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit! Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 25-6 Πράξεις με δυαδικούς αριθμούς (αριθμητικές ) http://di.ionio.gr/~mistral/tp/csintro/ Αριθμοί Πράξεις με δυαδικούς αριθμούς

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 06 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

Διαβάστε περισσότερα

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

Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ. Εισαγωγή Εισαγωγή Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ Ξεκινάµε την εργαστηριακή µελέτη της Ψηφιακής Λογικής των Η/Υ εξετάζοντας αρχικά τη µορφή των δεδοµένων που αποθηκεύουν και επεξεργάζονται οι υπολογιστές και προχωρώντας

Διαβάστε περισσότερα

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM). Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται

Διαβάστε περισσότερα

Αρχιτεκτονική-ΙΙ Μέρος 2 ο

Αρχιτεκτονική-ΙΙ Μέρος 2 ο Αρχιτεκτονική-ΙΙ Μέρος 2 ο Μικροεπεξεργαστής 8086 (Υλικό) Ι. Ν. ΕΛΛΗΝΑΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗ-ΙΙ 2 8086 Επεξεργαστής των 16 bits/2 bytes (Ρ1) Εμφάνιση το 1978. Χαρακτηριστικά 8086 DIP-40 pins Τροφοδοσία 5V. Ρολόϊ

Διαβάστε περισσότερα

Εφαρμογές μικροελεγκτών

Εφαρμογές μικροελεγκτών Μικροελεγκτές Έναν ορισμό που θα μπορούσαμε να δώσουμε για τους μικροελεγκτές είναι ο εξής: Μικροελεγκτής είναι ένα προγραμματιζόμενο ολοκληρωμένο κύκλωμα το οποίο διαθέτει επεξεργαστή, μνήμη, διάφορα

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 10 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Συστήματα αρίθμησης. = α n-1 *b n-1 + a n-2 *b n-2 + +a 1 b 1 + a 0 όπου τα 0 a i b-1 Συστήματα αρίθμησης Δεκαδικό σύστημα αρίθμησης 1402 = 1000 + 400 +2 =1*10 3 + 4*10 2 + 0*10 1 + 2*10 0 Γενικά σε ένα σύστημα αρίθμησης με βάση το b N, ένας ακέραιος αριθμός με n ψηφία παριστάνεται ως:

Διαβάστε περισσότερα

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

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεµατική Ενότητα ΠΛΗ 21: Ψηφιακά Συστήµατα Ακαδηµαϊκό Έτος 2009 2010 Γραπτή Εργασία #3 Παράδοση: 28 Μαρτίου 2010 Άσκηση 1 (15 µονάδες) Ένας επεξεργαστής υποστηρίζει τόσο

Διαβάστε περισσότερα

1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών

1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ι Γ. Τσιατούχας 2 ο Κεφάλαιο ιάρθρωση 1. Οργάνωση της 2. εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο

Διαβάστε περισσότερα

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών ARM και x86

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών ARM και x86 ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών ARM και x86 Αρης Ευθυμίου Το σημερινό μάθημα! Λυση του lab02! Αρχιτεκτονική ARM σε τι μοιάζει και σε τι διαφέρει από τον MIPS! Αρχιτεκτονική x86 μια γρήγορη ματιά στη

Διαβάστε περισσότερα

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ Η Κεντρική Μονάδα Επεξεργασίας (Central Processing Unit -CPU) ή απλούστερα επεξεργαστής αποτελεί το μέρος του υλικού που εκτελεί τις εντολές ενός προγράμματος υπολογιστή

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ 1 Πράξεις με μπιτ 2 ΑριθμητικέςΠράξειςσεΑκέραιους Πρόσθεση, Αφαίρεση, Πολλαπλασιασμός, Διαίρεση Ο πολλαπλασιασμός

Διαβάστε περισσότερα

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

ΑΣΚΗΣΕΙΣ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ ΓΙΑ ΤΗ ΘΕΩΡΙΑ ΑΣΚΗΣΕΙΣ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ ΓΙΑ ΤΗ ΘΕΩΡΙΑ Άσκηση 1 Ένας επεξεργαστής (ΚΜΕ) υποστηρίζει 371 εντολές. Πόσα bit θα πρέπει να είναι ο καταχωρητής εντολής (ελάχιστη τιμή); (α) 4 bit (β) 16 bit (γ) 1 bit (δ)

Διαβάστε περισσότερα

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

Διαβάστε περισσότερα

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής)

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής) ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α Γενικού Λυκείου (Μάθημα Επιλογής) Σύγχρονα Υπολογιστικά Συστήματα τους υπερυπολογιστές (supercomputers) που χρησιμοποιούν ερευνητικά εργαστήρια τα μεγάλα συστήματα (mainframes)

Διαβάστε περισσότερα

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

ΣΗΜΕΙΩΣΕΙΣ ΕΡΓΑΣΤΗΡΙΟΥ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΕΙ ΣΕΡΡΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ ΣΗΜΕΙΩΣΕΙΣ ΕΡΓΑΣΤΗΡΙΟΥ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΥΠΟΛΟΓΙΣΤΩΝ Εκπαιδευτικό Σύστηµα BGC-8088 ρ. Σπύρος Α. Καζαρλής Επίκουρος Καθηγητής Σέρρες, Σεπτέµβριος 2004 1 Κεφάλαιο

Διαβάστε περισσότερα

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

Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών Πρόγραμμα σε γλώσσα μηχανής του ΕΚΥ Θέση μνήμης Περιεχόμενα μνήμης Εντολή (assembly) 0 0001 000000000011 lda 3 1 0011 000000000100 ada

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

1. Βάσεις αριθμητικών συστημάτων 2. Μετατροπές μεταξύ ξύβάσεων 3. Αρνητικοί δυαδικοί αριθμοί 4. Αριθμητικές πράξεις δυαδικών αριθμών ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ MHXANIKOI Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΥΑ ΙΚΟΙ ΑΡΙΘΜΟΙ (ΑΚΕΡΑΙΟΙ ΑΡΙΘΜΟΙ) Γ. Τσιατούχας Παράρτηµα A ιάρθρωση 1. Βάσεις αριθμητικών συστημάτων 2. Μετατροπές μεταξύ ξύβάσεων 3. Αρνητικοί

Διαβάστε περισσότερα

Περιεχόμενο: Δομή υπολογιστή Συστήματα αρίθμησης

Περιεχόμενο: Δομή υπολογιστή Συστήματα αρίθμησης Περιεχόμενο: Δομή υπολογιστή Συστήματα αρίθμησης ΟΜΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ Ένας υπολογιστής αποτελείται από την Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ), τη µνήµη, τις µονάδες εισόδου/εξόδου και το σύστηµα διασύνδεσης

Διαβάστε περισσότερα

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

Εισαγωγή στην Πληροφορική Εισαγωγή στην Πληροφορική Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή στην Πληροφορική 1 Γενικές πληροφορίες Εισαγωγή στην Πληροφορική ιδασκαλία: Παναγιώτης Χατζηδούκας Email:

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07 Τμήμα θεωρίας: Α.Μ. 8, 9 Κάθε Πέμπτη, 11πμ-2μμ, ΑΜΦ23. Διδάσκων: Ντίνος Φερεντίνος Γραφείο 118 email: kpf3@cornell.edu Μάθημα: Θεωρία + προαιρετικό

Διαβάστε περισσότερα

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 3 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 3 Κεντρική Μονάδα Επεξεργασίας Κεντρική Μονάδα Επεξεργασίας Μονάδα επεξεργασίας δεδομένων Μονάδα ελέγχου Μονάδα επεξεργασίας δεδομένων Δομή Αριθμητικής Λογικής Μονάδας

Διαβάστε περισσότερα

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή Κεφάλαιο 3 Το υλικό του υπολογιστή Εισαγωγή Τµήµατα του Η/Υ καιοργάνωση Μονάδα Κεντρικής Μνήµης Κεντρική Μονάδα Επεξεργασίας (CPU) Μονάδα Εισόδου Εξόδου ίαυλοι Επικοινωνίας Εναλλακτικές αρχιτεκτονικές

Διαβάστε περισσότερα

Η δήλωση πού δηµιουργεί αποθήκευση τών δεδοµένων ονοµαζεται ορισµός τής µεταβλητής.

Η δήλωση πού δηµιουργεί αποθήκευση τών δεδοµένων ονοµαζεται ορισµός τής µεταβλητής. Από το βιβλίο C: Βήµα-Πρός-Βήµα, Κεφάλαιο 3ο Συγγραφείς: Οµάδα Waite, Mitchell Waite και Stephen Prata Εκδότης: Μ. Γκιούρδας Ανατύπωση σε ηλεκτρονική µορφή: Αλέξανδρος Στεφανίδης 3.4 Τύποι εδοµένων τής

Διαβάστε περισσότερα

ΤΙ ΕΙΝΑΙ Ο ΥΠΟΛΟΓΙΣΤΗΣ

ΤΙ ΕΙΝΑΙ Ο ΥΠΟΛΟΓΙΣΤΗΣ ΤΙ ΕΙΝΑΙ Ο ΥΠΟΛΟΓΙΣΤΗΣ Ο όρος είναι συντομογραφία του όρου «Αυτόματος, Ηλεκτρονικός Ψηφιακός Υπολογιστής Γενικού Σκοπού» [1]. Αυτόματος Μετά την έναρξη της λειτουργίας του εργάζεται μόνος του εκτελώντας

Διαβάστε περισσότερα

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

ΠΛΗΡΟΦΟΡΙΑΚΑ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Οικονοµικό Πανεπιστήµιο Αθηνών Τµήµα ιοικητικής Επιστήµης & Τεχνολογίας ΠΛΗΡΟΦΟΡΙΑΚΑ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Κεφάλαιο 2 Αριθµητικά Συστήµατα και Αριθµητική Υπολογιστών Γιώργος Γιαγλής Περίληψη Κεφαλαίου

Διαβάστε περισσότερα

74HC573 D7 D6 D5 D4 D3 D2 D1 D0 LE OE A0 A1 A2 A3 A4 A5 A6 A7 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 A8 A9 A10 A11 A12 A13 Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0

74HC573 D7 D6 D5 D4 D3 D2 D1 D0 LE OE A0 A1 A2 A3 A4 A5 A6 A7 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 A8 A9 A10 A11 A12 A13 Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 ΜΑΘΗΜΑ: ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ ΘΕΜΑΤΑ ΙΟΥΝΙΟΥ 2012 Καθηγητής: Νικολαΐδης Νικ. Ημ/νία εξέτασης: 28-6-2012 ΘΕΜΑ 1 (3,5 μονάδες) Σχεδιάστε το απλούστερο κύκλωμα για συνδεθεί μία ROM 16 ΚΒ σε έναν 8051: α) ως μνήμη

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Η ΓΛΩΣΣΑ PASCAL ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Απλοί ή στοιχειώδης Τ.Δ. Ακέραιος τύπος Πραγματικός τύπος Λογικός τύπος Χαρακτήρας Σύνθετοι Τ.Δ. Αλφαριθμητικός 1. Ακέραιος (integer) Εύρος: -32768 έως 32767 Δήλωση

Διαβάστε περισσότερα

Εισαγωγή στην επιστήµη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών

Εισαγωγή στην επιστήµη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών Εισαγωγή στην επιστήµη των υπολογιστών Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών Εισαγωγή Θα δούµε την οργάνωση ενός υπολογιστή Στον επόµενο µάθηµα θα δούµε πως συνδέονται πολλοί Η/Υ για να σχηµατίσουν

Διαβάστε περισσότερα

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,

Διαβάστε περισσότερα

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

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η ανάλυση των βασικών χαρακτηριστικών της Γλώσσας

Διαβάστε περισσότερα

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 ΑΠΑΝΤΗΣΕΙΣ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 Μάθημα : Μικροϋπολογιστές Τεχνολογία Τ.Σ. Ι, Θεωρητικής κατεύθυνσης Ημερομηνία

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Αριθμητική Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Δεύτερο Πρόγραμμα 1 / * Second Simple Program : add 2 numbers * / 2

Διαβάστε περισσότερα

Το υλικό του υπολογιστή

Το υλικό του υπολογιστή Το υλικό του υπολογιστή Ερωτήσεις 1. Τι αντιλαμβάνεστε με τον όρο υλικό; Το υλικό(hardware) αποτελείται από το σύνολο των ηλεκτρονικών τμημάτων που συνθέτουν το υπολογιστικό σύστημα, δηλαδή από τα ηλεκτρονικά

Διαβάστε περισσότερα

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής Κεφάλαιο 4 ο Ο Προσωπικός Υπολογιστής Μάθημα 4.3 Ο Επεξεργαστής - Εισαγωγή - Συχνότητα λειτουργίας - Εύρος διαδρόμου δεδομένων - Εύρος διαδρόμου διευθύνσεων - Εύρος καταχωρητών Όταν ολοκληρώσεις το μάθημα

Διαβάστε περισσότερα

Κεφάλαιο 4ο: Εντολές επιλογής

Κεφάλαιο 4ο: Εντολές επιλογής Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 4ο: Εντολές επιλογής Μέχρι τώρα παρατηρήσαµε ότι τα προβλήµατα που αντιµετωπίσαµε είχαν σειριακή κίνηση, δηλαδή η µία εντολή

Διαβάστε περισσότερα

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly Αρης Ευθυμίου Το σημερινό μάθημα! Σύνταξη εντολών! Θέματα σχετικά με τη προσπέλαση, οργάνωση μνήμης διευθύνση για κάθε byte διευθύνσεις λέξεων

Διαβάστε περισσότερα

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

Διαβάστε περισσότερα

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

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 2 ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 2 Ο κύκλος της πληροφορίας Η σηµασία της πληροφορίας Ο υπολογιστής (επεξεργασία-αποθήκευση) 2 Παράσταση δεδοµένων Αριθµητικά συστήµατα εκαδικό σύστηµα 3 υαδικό

Διαβάστε περισσότερα

ΤΠ 2108 Αρχιτεκτονική Υπολογιστών (Εργαστήριο) ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΚΡΗΤΗΣ. Σειρά Ασκήσεων 1

ΤΠ 2108 Αρχιτεκτονική Υπολογιστών (Εργαστήριο) ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΚΡΗΤΗΣ. Σειρά Ασκήσεων 1 Σειρά Ασκήσεων 1 Εισαγωγή, Ο επεξεργαστής και η γλώσσα του. Σε αυτό το εργαστήριο θα κάνουµε µια εισαγωγή σε έναν απλό επεξεργαστή (RISC), το instruction set του οποίου είναι πολύ απλό, αλλά περιέχει όλα

Διαβάστε περισσότερα

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.5 Πρωτόκολλο IP 38. Τι είναι το πρωτόκολλο ιαδικτύου (Internet Protocol, IP); Είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/IP. Βασίζεται στα αυτοδύναµα

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Ενότητα 3 Λειτουργίες σε Bits, Αριθμητικά Συστήματα Χρήστος Γκουμόπουλος Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Φύση υπολογιστών Η

Διαβάστε περισσότερα

CX-185 II. Αριθμομηχανή με εκτυπωτή. Εγχειρίδιο Οδηγιών

CX-185 II. Αριθμομηχανή με εκτυπωτή. Εγχειρίδιο Οδηγιών CX-185 II Αριθμομηχανή με εκτυπωτή Εγχειρίδιο Οδηγιών 1 ΠΕΡΙΓΡΑΦΗ ΠΛΗΚΤΡΩΝ ΚΑΙ ΔΙΑΚΟΠΤΩΝ έως Αριθμητικό Πλήκτρο Χρησιμοποιείται για την εισαγωγή αριθμού στην αριθμομηχανή. Πλήκτρο Υποδιαστολής Χρησιμοποιείται

Διαβάστε περισσότερα

ΑΣΚΗΣΕΙΣ ΣΤΑ ΣΥΣΤΗΜΑΤΑ ΑΡΙΘΜΗΣΗΣ (σελ. 30-34 στο ΜΥ1011Χ.pdf)

ΑΣΚΗΣΕΙΣ ΣΤΑ ΣΥΣΤΗΜΑΤΑ ΑΡΙΘΜΗΣΗΣ (σελ. 30-34 στο ΜΥ1011Χ.pdf) ΑΣΚΗΣΕΙΣ ΣΤΑ ΣΥΣΤΗΜΑΤΑ ΑΡΙΘΜΗΣΗΣ (σελ. 30-34 στο ΜΥ1011Χ.pdf) Για να λύνετε εύκολα ασκήσεις στα συστήματα αρίθμησης θα πρέπει να απομνημονεύσετε τα πρώτα 17 βάρη του δυαδικού συστήματος από 2 0 μέχρι 2

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών 1 Οργάνωση υπολογιστών ΚΜΕ Κύρια Μνήμη Υποσύστημα εισόδου/εξόδου 2 Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) R1 R2 ΑΛΜ

Διαβάστε περισσότερα

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

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

Διαβάστε περισσότερα