Ο 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 ax,@data συµβολίζει την ονοµασία του τµήµατος των δεδοµένων, του κώδικα 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 ax,@data 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 ax,@data 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

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

Ο 8086 µπορεί να θεωρηθεί ότι αποτελείται από δύο τµήµατα επεξεργαστές, όπως φαίνεται και στο σχήµα 1, οι οποίοι είναι: Ο ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΗΣ 8086 Με την ανάπτυξη του µικροεπεξεργαστή 8086 της Intel, έχουµε (από το 1978) την εµφάνιση της γενιάς των υπολογιστών των 16-bit. Στις επόµενες παραγράφους θα εξεταστεί η δοµή του,

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

Καταχωρητές γενικής χρήσης και δεδοµένων (Data Registers)

Καταχωρητές γενικής χρήσης και δεδοµένων (Data Registers) Καταχωρητές γενικής χρήσης και δεδοµένων (Data Registers) ΑΧ Εργασίες εισόδου / εξόδου, διορθώσεις δεκαδικών, πολλαπλασιασµοί, διαιρέσεις. BX είκτης για έµµεσο τρόπο προσδιορισµού διευθύνσεων µνήµης (indirect

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

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

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

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

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

Αρχιτεκτονική Υπολογιστών Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 3: Καταχωρητές, Τμήματα, Διευθυνσιοδότηση Μνήμης, SEGMENT, MOV, ADD, SUB, INT, TITLE, LEA

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

Στοιχεία από Assembly Γιώργος Μανής

Στοιχεία από Assembly Γιώργος Μανής Στοιχεία από Assembly 8086 Γιώργος Μανής Καταχωρητές καταχωρητές γενικής φύσης καταχωρητές δείκτες καταχωρητές αναφοράς καταχωρητές τµηµάτων ειδικοί καταχωρητές Καταχωρητές γενικής φύσης 16 bit ax, bx,

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

Σημειώσεις για τον 80x86

Σημειώσεις για τον 80x86 Σημειώσεις για τον 80x86 Τι είναι η διεύθυνση; 16bits 0000h 0001h 0002h 8bits 20h 32h 30h Η μνήμη ενός μικροϋπολογιστικού συστήματος χωρίζεται σε μικρά τμήματα του ενός byte FFFEh 30h 2 16 =65,536 bytes

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

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

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

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

Υποπρογράμματα (Subroutines)

Υποπρογράμματα (Subroutines) Υποπρογράμματα (Subroutines) Τα υποπρογράµµατα είναι τµήµατα κώδικα που συγκεντρώνουν ένα σύνολο από εντολές το οποίο θα εκτελέσει πλήρως µια λειτουργία και πιθανόν να επιστρέψει και τιµή. Τα υποπρογράµµατα

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

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

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

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

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

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

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

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

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

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

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

«ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ» ΕΣΩΤΕΡΙΚΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΚΑΙ ΛΕΙΤΟΥΡΓΙΕΣ «ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ» ΕΣΩΤΕΡΙΚΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΚΑΙ ΛΕΙΤΟΥΡΓΙΕΣ 8085 ΧΟΝΔΡΙΚΟ ΔΙΑΓΡΑΜΜΑ 8085 CPU ΟΙ ΚΑΤΑΧΩΡΗΤΕΣ ΤΟΥ 8085 Ο ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΗΣ ΕΝΤΟΛΩΝ Η ΑΡΙΘΜΗΤΙΚΗ ΚΑΙ ΛΟΓΙΚΗ ΜΟΝΑΔΑ ΟΙ «ΣΗΜΑΙΕΣ» FLAGS Η ΜΟΝΑΔΑ

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

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Τι εννοούμε με τον όρο υπολογιστικό σύστημα και τι με τον όρο μικροϋπολογιστικό σύστημα; Υπολογιστικό

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

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΕΦΑΛΑΙΟ 7ο ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Γενικό διάγραμμα υπολογιστικού συστήματος Γενικό διάγραμμα υπολογιστικού συστήματος - Κεντρική Μονάδα Επεξεργασίας ονομάζουμε

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

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

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

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

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ 4 ο Εξάμηνο Μαδεμλής Ιωάννης ΕΡΓΑΣΤΗΡΙΟ 3 ΤΕΙ ΣΕΡΡΩΝ Η ΠΡΑΞΗ ΤΗΣ ΑΦΑΙΡΕΣΗΣ Πράξη 1 1 0 1-0 1 1 0 1 1 1 0 1-0 1 1 0 1Δ 1 1 1 1 0 1 0 1 1 0 1Δ 1 1 1 1 1 0 1 0 1 1 0 0 1 1 1

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΙΙ Εργαστήριο 2 ο ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ- ΨΕΥΔΟΕΝΤΟΛΕΣ ΜΑΚΡΟΕΝΤΟΛΕΣ- ΔΙΑΔΙΚΑΣΙΕΣ (ΕΙΣΑΓΩΓΗ)

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΙΙ Εργαστήριο 2 ο ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ- ΨΕΥΔΟΕΝΤΟΛΕΣ ΜΑΚΡΟΕΝΤΟΛΕΣ- ΔΙΑΔΙΚΑΣΙΕΣ (ΕΙΣΑΓΩΓΗ) ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΙΙ Εργαστήριο 2 ο ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ- ΨΕΥΔΟΕΝΤΟΛΕΣ ΜΑΚΡΟΕΝΤΟΛΕΣ- ΔΙΑΔΙΚΑΣΙΕΣ (ΕΙΣΑΓΩΓΗ) ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ Ι Τρία κύρια τμήματα Ορισμός μοντέλου τμημάτων μνήμης και σωρού Ορισμός

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

Καταχωρητές & τμήματα μνήμης του Ματθές Δημήτριος Καθηγητής Πληροφορικής

Καταχωρητές & τμήματα μνήμης του Ματθές Δημήτριος Καθηγητής Πληροφορικής Καταχωρητές & τμήματα μνήμης του 8086 Ματθές Δημήτριος Καθηγητής Πληροφορικής Καταχωρητές γενικού σκοπού Υπάρχουν τέσσερις (4) γενικού σκοπού καταχωρητές των 16-bit που χρησιμοποιούνται από τους προγραμματιστές

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

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

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ 4 ο Εξάμηνο Μαδεμλής Ιωάννης MSc Ηλεκτρονικός Φυσικός Αντικείμενο: ΠΡΟΦΙΛ ΜΑΘΗΜΑΤΟΣ Προγραμματισμός σε γλώσσα Assembly Σκοπός: Γνώση της assembly από τους απόφοιτους του τμήματος

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

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

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

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

Θ. Ζαχαριάδης Αν. Καθηγητής. Λ. Σαράκης Καθ. Εφαρμογών

Θ. Ζαχαριάδης Αν. Καθηγητής. Λ. Σαράκης Καθ. Εφαρμογών Θ. Ζαχαριάδης Αν. Καθηγητής Λ. Σαράκης Καθ. Εφαρμογών CMP REG, memory memory, REG REG, REG memory, immediate REG, immediate Compare. operand1 - operand2 result is not stored anywhere, flags are set (OF,

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

Σελίδα 1 από 12. Απαντήσεις στο φυλλάδιο 55. Ερώτηση 1 η : Ένα υπολογιστικό σύστηµα αποτελείται από:

Σελίδα 1 από 12. Απαντήσεις στο φυλλάδιο 55. Ερώτηση 1 η : Ένα υπολογιστικό σύστηµα αποτελείται από: Σελίδα 1 από 12 Απαντήσεις στο φυλλάδιο 55 Ερώτηση 1 η : Ένα υπολογιστικό σύστηµα αποτελείται από: (α) Κεντρική Μονάδα Επεξεργασίας. (β) Κύρια Μνήµη. (γ) Μονάδες εισόδου. (δ) Μονάδες εξόδου. (ε) Βοηθητική

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

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

ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ 1. CS1=0100H, CS2=1100H, DS=2100H, SS=3100H. α) Να σχεδιαστεί ο χάρτης μνήμης με λογικές και φυσικές διευθύνσεις. β) Στη διεύθυνση CS1:0100H υπάρχει η εντολή: 9A IP IP CS

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

ΘΕΜΑΤΑ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ-ΙΙ

ΘΕΜΑΤΑ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ-ΙΙ ΘΕΜΑΤΑ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ-ΙΙ 1. Ποια είναι η σημασία ύπαρξης του σήματος ALE στον 8086; Δικαιολογήστε την απάντησή σας με το αντίστοιχο σχήμα. [1] Διαχωρίζει το Address από το Data Bus. D0-D15 AD0-AD15 ALE

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

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

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

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

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

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

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

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

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

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

Θ. Ζαχαριάδης Αν. Καθηγητής. Λ. Σαράκης Καθ. Εφαρμογών

Θ. Ζαχαριάδης Αν. Καθηγητής. Λ. Σαράκης Καθ. Εφαρμογών Θ. Ζαχαριάδης Αν. Καθηγητής Λ. Σαράκης Καθ. Εφαρμογών Στον debugger που χρησιμοποιούμε στο εργαστήριο, όταν γράφουμε δεκαεξαδικούς αριθμούς που το πιο σημαντικό ψηφίο τους είναι Α-F βάζουμε μπροστά από

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

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

Αριθμητικά Συστήματα Αριθμητικά Συστήματα Οργάνωση Δεδομένων (1/2) Bits: Η μικρότερη αριθμητική μονάδα ενός υπολογιστικού συστήματος, η οποία δείχνει δύο καταστάσεις, 0 ή 1 (αληθές η ψευδές). Nibbles: Μονάδα 4 bit που παριστά

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

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

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

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

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

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

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

Μικροεπεξεργαστές. Σημειώσεις Μαθήματος Υπεύθυνος: Δρ Άρης Παπακώστας,

Μικροεπεξεργαστές. Σημειώσεις Μαθήματος Υπεύθυνος: Δρ Άρης Παπακώστας, Μικροεπεξεργαστές Σημειώσεις Μαθήματος 2013-14 Υπεύθυνος: Δρ Άρης Παπακώστας, Η γλώσσα assembly είναι μια γλώσσα προγραμματισμού χαμηλού επιπέδου για συγκεκριμένους υπολογιστές ή άλλη προγραμματιζόμενη

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

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

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

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

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ» Περιεχόμενα Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»... 2 Καταχωρητές... 3 Αριθμητική-λογική μονάδα... 3 Μονάδα μνήμης... 4 Μονάδα Εισόδου - Εξόδου... 5 Μονάδα ελέγχου... 5 Ρεπερτόριο Εντολών «ΑΒΑΚΑ»... 6 Φάση

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

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΛΑΜΙΑΣ. A. Μετατροπή αριθμών 1. Μετατροπή αριθμών από δεκαδικό σε δυαδικό σύστημα αρίθμησης

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΛΑΜΙΑΣ. A. Μετατροπή αριθμών 1. Μετατροπή αριθμών από δεκαδικό σε δυαδικό σύστημα αρίθμησης ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΛΑΜΙΑΣ Τμήμα Πληροφορικής και Τεχνολογίας Υπολογιστών Μάθημα: Αρχιτεκτονική Υπολογιστών Εργασία: 1 A. Μετατροπή αριθμών 1. Μετατροπή αριθμών από δεκαδικό σε δυαδικό σύστημα

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

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

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

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

Επιμέλεια: ρ. Ν. Σγούρος ρ. Ι. Κονταξάκης

Επιμέλεια: ρ. Ν. Σγούρος ρ. Ι. Κονταξάκης Ε Εργαστήριο ή Α Αρχιτεκτονικής ή ΙΙ Εργαστήριο γ Ι: Βασικέςς γνώσεις γ ς Επιμέλεια: ρ. Ν. Σγούρος ρ. Ι. Κονταξάκης Στόχοι ομή συμβολικού προγράμματος 8086 Υλοποίηση Αλγοριθμικών δομών ( Επιλογή/Επανάληψη

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

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

Συστήματα Μικροϋπολογιστών Συστήματα Μικροϋπολογιστών Assembly 80x86 Υπεύθυνος Μαθήματος: K. ΠΕΚΜΕΣΤΖΗ Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που

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

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για:

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: Σελίδα 1 από 11 Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: την επικοινωνία, µε τα υπόλοιπα ολοκληρωµένα κυκλώµατα του υπολογιστικού συστήµατος. την παροχή τροφοδοσίας

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

ΜΑΘΗΜΑ: ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ ΘΕΜΑΤΑ ΙΟΥΝΙΟΥ 2014

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

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

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

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

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

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

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

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

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Κώδικας μηχανής (E) Ο επεξεργαστής μπορεί να εκτελέσει το αρχιτεκτονικό σύνολο εντολών (instruction set architecture) Οι

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

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

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

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

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

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

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

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

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ (Τμήματα Υπολογιστή) ΕΚΠΑΙΔΕΥΤΗΣ:ΠΟΖΟΥΚΙΔΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Κάθε ηλεκτρονικός υπολογιστής αποτελείται

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

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

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

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

Κεφάλαιο 2. Συστήματα Αρίθμησης και Αναπαράσταση Πληροφορίας. Περιεχόμενα. 2.1 Αριθμητικά Συστήματα. Εισαγωγή

Κεφάλαιο 2. Συστήματα Αρίθμησης και Αναπαράσταση Πληροφορίας. Περιεχόμενα. 2.1 Αριθμητικά Συστήματα. Εισαγωγή Κεφάλαιο. Συστήματα Αρίθμησης και Αναπαράσταση Πληροφορίας Περιεχόμενα. Αριθμητικά συστήματα. Μετατροπή αριθμών από ένα σύστημα σε άλλο.3 Πράξεις στο δυαδικό σύστημα.4 Πράξεις στο δεκαεξαδικό σύστημα.5

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

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

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

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

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

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

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

Αρχιτεκτονική Μηχανής. Αποθήκευση εδοµένων

Αρχιτεκτονική Μηχανής. Αποθήκευση εδοµένων Αρχιτεκτονική Μηχανής Αποθήκευση εδοµένων Οι πράξεις AND, OR, και Αλγεβρας Boole XOR (exclusive or) της Μία απεικόνιση των πυλών AND, OR, XOR, και NOT καθώς και των τιµών εισόδου (inputs) και εξόδου (output)

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

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

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

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

Πρόχειρες Σημειώσεις. Θ. Ζαχαριάδης Αν. Καθηγητής. Λ. Σαράκης Καθ. Εφαρμογών

Πρόχειρες Σημειώσεις. Θ. Ζαχαριάδης Αν. Καθηγητής. Λ. Σαράκης Καθ. Εφαρμογών Πρόχειρες Σημειώσεις Θ. Ζαχαριάδης Αν. Καθηγητής Λ. Σαράκης Καθ. Εφαρμογών AND OR REG, memory memory, REG REG, REG memory, immediate REG, immediate REG, memory memory, REG REG, REG memory, immediate REG,

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

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

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

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

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

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

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

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

ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ. ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Project 19 Sermac ;-) Σέρρες 2008 Θέµα Να κατασκευαστεί πρόγραµµα σε γλώσσα

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

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

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

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

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας Κεφάλαιο 3 ο Αρχιτεκτονική Υπολογιστών Μάθημα 3.: Κεντρική Μονάδα Επεξεργασίας Όταν ολοκληρώσεις το κεφάλαιο θα μπορείς: Να σχεδιάζεις την εσωτερική δομή της ΚΜΕ και να εξηγείς τη λειτουργία των επιμέρους

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

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

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

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

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

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

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

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

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

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

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

Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών. Βοήθημα εκτέλεσης εργαστηριακής άσκησης 3: Εντολές λογικών πράξεων και εντολές κλήσης ρουτινών Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών Βοήθημα εκτέλεσης εργαστηριακής άσκησης 3: Εντολές λογικών πράξεων και εντολές κλήσης ρουτινών Άσκηση 1 (σύνοψη της εκφώνησης) [Εκτέλεση λογικών πράξεων]

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

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή (συνέχεια) Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση:

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

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

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

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

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

Αναπαράσταση Δεδομένων. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Αναπαράσταση Δεδομένων ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Αναπαράσταση δεδομένων Κατάλληλη συμβολική αναπαράσταση δεδομένων, για απλοποίηση βασικών πράξεων, όπως πρόσθεση Πόσο εύκολο είναι

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

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

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

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

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

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

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

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

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

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

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 ο Τελεστές Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Ο τελεστής εκχώρησης = Ο τελεστής = χρησιµοποιείται για την απόδοση τιµής (ή αλλιώς ανάθεση τιµής) σε µία µεταβλητή Π.χ.

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

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

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

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

Τα µπιτ και η σηµασία τους. Σχήµα 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

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

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL 8.1. Εισαγωγή ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PACAL Πως προέκυψε η γλώσσα προγραμματισμού Pascal και ποια είναι τα γενικά της χαρακτηριστικά; Σχεδιάστηκε από τον Ελβετό επιστήμονα της Πληροφορικής Nicklaus Wirth to

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

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

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

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

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

Συστήματα Μικροϋπολογιστών Συστήματα Μικροϋπολογιστών Παραδείγματα προγραμματισμού του με Intel 8085 Υπεύθυνος Μαθήματος: K. ΠΕΚΜΕΣΤΖΗ Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

0100: MAR ADR; wait;mdr DB; SCR L DH+MDR+CY

0100: MAR ADR; wait;mdr DB; SCR L DH+MDR+CY Άσκηση 1η: Αναφέρατε τα στάδια εκτέλεσης της εντολής ADC [6789], DH µε εντολές µικροπρογράµµατος περιγράφοντας και εξηγώντας αναλυτικά το κάθε στάδιο καθώς και τις τιµές ψηφιακών λέξεων που εµφανίζονται

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

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Παρακάτω δίνονται μερικοί από τους ακροδέκτες που συναντάμε στην πλειοψηφία των μικροεπεξεργαστών. Φτιάξτε έναν πίνακα που να

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

επιµέλεια Θοδωρής Πιερράτος

επιµέλεια Θοδωρής Πιερράτος Βασικές έννοιες προγραµµατισµού Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως,

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

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

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

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

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

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 2 η Τύποι Δεδομένων Δήλωση Μεταβλητών Έξοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα

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

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

1 η Θεµατική Ενότητα : Δυαδικά Συστήµατα 1 η Θεµατική Ενότητα : Δυαδικά Συστήµατα Δεκαδικοί Αριθµοί Βάση : 10 Ψηφία : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Αριθµοί: Συντελεστές Χ δυνάµεις του 10 7392.25 = 7x10 3 + 3x10 2 + 9x10 1 + 2x10 0 + 2x10-1 + 5x10-2

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

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

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

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

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

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

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

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) Συσκευές αποθήκευσης Ένας υπολογιστής προκειµένου να αποθηκεύσει δεδοµένα χρησιµοποιεί δύο τρόπους αποθήκευσης: Την Κύρια Μνήµη Τις συσκευές µόνιµης αποθήκευσης (δευτερεύουσα

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

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2017-18 Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) (Αρχιτεκτονική x86-64) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Αρχιτεκτονική

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

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 9 : Ομάδες Εντολών: Ιδιότητες και Λειτουργίες Ευάγγελος Καρβούνης Παρασκευή, 15/01/2016 Τι είναι ομάδα εντολών;

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

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

Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Επιμέλεια: Γεώργιος Θεοδωρίδης, Επίκουρος Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών 1 Άδειες Χρήσης Το παρόν υλικό

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

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

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

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

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

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ 1 Αριθµητικό Σύστηµα! Ορίζει τον τρόπο αναπαράστασης ενός αριθµού µε διακεκριµένα σύµβολα! Ένας αριθµός αναπαρίσταται διαφορετικά σε κάθε σύστηµα,

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

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

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

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

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

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) 1. Εισαγωγή Χαρακτηριστικά της γλώσσας Τύποι δεδοµένων Γλώσσα προγραµµατισµού

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

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

Συμβολική Γλώσσα στον ΑΒΑΚΑ Συμβολική Γλώσσα στον ΑΒΑΚΑ Τα προγράμματα που είναι γραμμένα σε γλώσσα μηχανής (machine language) περιέχουν τόσο τις εντολές όσο και τις διευθύνσεις μνήμης γραμμένες σε αριθμητική μορφή και μάλιστα στο

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

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

Συστήματα Μικροϋπολογιστών Συστήματα Μικροϋπολογιστών Ο Μικροεπεξεργαστής 8085 K. ΠΕΚΜΕΣΤΖΗ Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

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

Αρχιτεκτονική-Ι Ενότητα 5:

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

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

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

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

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Κ. Δεμέστιχας Εργαστήριο Πληροφορικής Γεωπονικό Πανεπιστήμιο Αθηνών Επικοινωνία μέσω e-mail: cdemest@aua.gr, cdemest@cn.ntua.gr 1 2. ΑΡΙΘΜΗΤΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΜΕΡΟΣ Α 2 Τεχνολογία

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

Προηγμένοι Μικροεπεξεργαστές. Έλεγχος Ροής Προγράμματος

Προηγμένοι Μικροεπεξεργαστές. Έλεγχος Ροής Προγράμματος Προηγμένοι Μικροεπεξεργαστές Έλεγχος Ροής Προγράμματος Control Flow εντολές Jump related JMP Jcc (JZ, JNZ, JB, JNB etc) JCXZ, JECXZ LOOP LOOPE, LOOPNE Procedure related CALL RET INT IRET INTO ENTER LEAVE

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