2. Στην επιςτόμη τησ αρχιτεκτονικόσ υπολογιςτών, ο καταχωρητόσ εύναι ϋνασ
τύποσ μικρόσ αλλϊ πολύ γρόγορησ μνόμησ που βρύςκεται μϋςα ςτο τςιπ
του επεξεργαςτό . Η μνόμη αυτό χρηςιμοποιεύται για την βελτύωςη τησ
ταχύτητασ εκτϋλεςησ των διαφόρων προγραμμϊτων , αφού ςε αυτόν
ςυνόθωσ αποθηκεύονται δεδομϋνα που χρηςιμοποιούνται ςυνϋχεια από τα
προγρϊμματα. Στην περύπτωςη αυτό ο καταχωρητόσ παρϋχει πολύ γρόγορη
πρόςβαςη ςε αυτϊ τα δεδομϋνα και ϋτςι το πρόγραμμα εκτελεύται πιο
γρόγορα. Οι περιςςότεροι από τουσ ςύγχρονουσ ηλεκτρονικούσ
υπολογιςτϋσ λειτουργούν ςύμφωνα με την εξόσ λογικό: μεταφϋρουν
δεδομϋνα από την κεντρικό μνόμη ςτουσ καταχωρητϋσ, κϊνουν τισ
διϊφορεσ πρϊξεισ πϊνω ςτα δεδομϋνα και ςτην ςυνϋχεια μεταφϋρουν το
αποτϋλεςμα από τουσ καταχωρητϋσ πύςω ςτην κύρια μνόμη.
Παρακάτω γίνεται μια αναφορά ςτουσ καταχωρητέσ του επεξεργαςτή 8088 τησ
INTEL.Ωςτόςο ςε όλουσ τουσ επεξεργαςτέσ η φιλοςοφία είναι ακριβώσ η ίδια με
το μόνο πράγμα που αλλάζει να είναι η χωρητικότητα των καταχωρητών.
3.
4. Διαθϋτει 14 καταχωρητϋσ των 16 bit για γενικϋσ και ειδικϋσ
λειτουργύεσ, μερικού από τουσ οπούουσ μπορούν να χωριςθούν ςε
δύο καταχωρητϋσ των 8-bit. Οι καταχωρητϋσ του 8088 εύναι οι
ακόλουθοι :
5. Καταχωρητϋσ γενικόσ και ειδικόσ χρόςησ
Οι καταχωρητϋσ AX,BX,CX,DX μπορούν να θεωρηθούν και ωσ διπλού καταχωρητϋσ των
2x8 bit. Για παρϊδειγμα ο χρόςτησ μπορεύ να προςπελϊςει τον καταχωρητό AX και μϋςω
των δύο 8-bit καταχωρητών AH και AL.
Ο AH αντιςτοιχεύ ςτο υψηλότερησ τϊξησ τμόμα του AX (δηλαδό τα bits 8-15) ενώ ο
AL αντιςτοιχεύ ςτο χαμηλότερησ τϊξησ τμόμα του AX ( δηλαδό τα bits 0-7).
To ύδιο ςυμβαύνει αντύςτοιχα και για τουσ καταχωρητϋσ BX, CX και DX. Οι
καταχωρητϋσ αυτού εύναι γενικόσ χρόςησ , δηλαδό μπορούν να μεταφϋρουν
δεδομϋνα προσ και από τη μνόμη , να εκτελϋςουν αριθμητικϋσ πρϊξεισ κλπ.
Ο Συςςωρευτόσ όμωσ ( ΑΧ) εύναι πιο ςημαντικόσ από τουσ υπόλοιπουσ καθώσ
ςυγκεκριμϋνεσ εντολϋσ και τρόποι προςπϋλαςησ μνόμησ εκτελούνται μόνο με αυτόν,
όπωσ ο πολλαπλαςιαςμόσ και η διαύρεςη.
Οι καταχωρητϋσ CS, DS, SS, ES εύναι καταχωρητϋσ τμημϊτων (segment registers) και
χρηςιμοποιούνται για την προςπϋλαςη μνόμησ του 8088 η οπούα γύνεται με
τμόματα
(segments) και μετατοπύςεισ (offsets).
6. Οι καταςκευαςτϋσ του 8088, μαζύ με τισ προδιαγραφϋσ του επεξεργαςτό, καθόριςαν και
τισ προδιαγραφϋσ των προγραμμϊτων που θα μπορούςε αυτόσ να εκτελϋςει . Έτςι , όριςαν ότι
κϊθε εκτελούμενο πρόγραμμα θα ϋπρεπε να αποτελεύται από τρύα διαφορετικϊ τμόματα , τα
οπούα εύναι :
1. Το τμόμα κώδικα (code segment) όπου βρύςκεται το ύδιο το πρόγραμμα ,
2. Το τμόμα δεδομϋνων (data segment) όπου βρύςκονται οι μεταβλητϋσ του προγρϊμματοσ (data) και,
3. To τμόμα ςτούβασ (stack segment) που χρηςιμοποιεύται για την ςτούβα του
προγρϊμματοσ (stack) που εύναι ϋνα τμόμα μνόμησ το οπούο προςπελαύνεται από τον
8088 με δομό LIFO (Last in First out) και χρηςιμοποιεύται για προςωρινό
αποθόκευςη δεδομϋνων, όπωσ προςωρινό αποθόκευςη καταχωρητών , πϋραςμα
παραμϋτρων ςε υπορουτύνεσ , κ.λ.π).
Έτςι ο 8088 ϋχει ϋναν καταχωρητό τμόματοσ για κϊθε ϋνα από τα 3 αυτϊ τμόματα , που
«δεύχνει » την δεκαεξϊδα ςτην οπούα ξεκινϊει το κϊθε τμόμα . Οι καταχωρητϋσ αυτού εύναι :
Ο CS (code segment register) που δεύχνει ςτο τμόμα κώδικα ,
Ο DS (data segment register) που δεύχνει ςτο τμόμα δεδομϋνων, και
O SS (stack segment register) που δεύχνει ςτο τμόμα ςτούβασ.
O τϋταρτοσ καταχωρητόσ τμόματοσ που εύναι ο ES (Extra segment register) χρηςιμοποιεύται
ωσ « γενικόσ χρόςησ » καταχωρητόσ τμόματοσ που μπορεύ να « δεύξει» ςε οποιοδόποτε ϊλλο
τμόμα ( δεκαεξϊδα) τησ μνόμησ ώςτε να προςπελϊςει οποιαδόποτε διεύθυνςη χωρύσ να
«χαλϊςει» τισ τιμϋσ των CS,DS,SS που εύναι αφιερωμϋνοι για ϊλλο ςκοπό .
Το κϊθε τμόμα ( κώδικα , δεδομϋνων, ςτούβασ, ϋξτρα) ϋχοντασ ςταθερό διεύθυνςη segment,
μπορεύ μϋςω του μεταβλητού 16-bit offset να ϋχει μϋγεθοσ μϋχρι 64Κ (0000..FFFF).
7. Για την αποθόκευςη του “offset” κομματιού τησ διεύθυνςησ μνόμησ που εύναι ςε μορφό
«segment:offset» χρηςιμοποιούνται ϊλλοι καταχωρητϋσ του 8088. Για παρϊδειγμα , ο
καταχωρητόσ IP (Instruction Pointer) κρατϊει το ‘offset’ κομμϊτι τησ διεύθυνςησ που δεύχνει
πϊντα την επόμενη εντολό που θα εκτελεςτεύ. Το ‘segment’ κομμϊτι τησ διεύθυνςησ το
κρατϊει ο καταχωρητόσ CS (code segment register). Έτςι η διεύθυνςη μνόμησ που
ςχηματύζεται από τουσ καταχωρητϋσ CS:IP εύναι πϊντα η διεύθυνςη τησ επόμενησ εντολόσ
κώδικα μηχανόσ που θα εκτελεςτεύ.
Σημεύωςη: ςτον BGC-8088 οι εξ ’ οριςμού τιμϋσ για τουσ καταχωρητϋσ τμημϊτων εύναι :
8. Στο ςετ των καταχωρητών του 8088 υπϊρχουν και ειδικού καταχωρητϋσ όπωσ :
Ο καταχωρητόσ IP (Instruction Pointer) που δεύχνει την επόμενη εντολό που θα
εκτελεςτεύ ( μϋςα ςτο Τμόμα Κώδικα – Code Segment)
Ο καταχωρητόσ SP (Stack Pointer) ο οπούοσ δεύχνει το ςημεύο μϋχρι το οπούο ϋχει γεμύςει
η ςτούβα (stack) μϋςα ςτο Τμόμα Στούβασ (Stack Segment). Ο καταχωρητόσ ξεκινϊ με μεγϊλη
τιμό (0B3F) και όςο γεμύζει το stack αυτόσ μειώνεται ( το stack γεμύζει από πϊνω
προσ τα κϊτω, δηλαδό από μεγϊλεσ διευθύνςεισ προσ μικρότερεσ).
9. Ο καταχωρητόσ FG (Flag Register) περιϋχει ςημαύεσ (flags) που δεύχνουν ό καθορύζουν την
κατϊςταςη του επεξεργαςτό. Κϊθε ςημαύα (flag) ϋχει μϋγεθοσ 1 bit καθώσ αναπαριςτϊ μύα
διακοπτικό ϋνδειξη ό λειτουργύα που μπορεύ να εύναι ON ό OFF. Στον καταχωρητό FG δεν
ϋχει ςημαςύα η τιμό του ωσ 16-bit δυαδικό νούμερο, αλλϊ το κϊθε bit ξεχωριςτϊ και
ανεξϊρτητα από τα υπόλοιπα , που ϋχει και την δικό του ξεχωριςτό ςημαςύα. Η ςημαςύα των
bits του Καταχωρητό Σημαιών του 8088 εύναι η εξόσ :
Ωσ γνωςτόν από τα 16 bits του FG χρηςιμοποιούνται μόνο τα 9 που εύναι :
10.
11.
12. Στο παραπϊνω διϊγραμμα φαύνεται καθαρϊ ότι : Οι καταχωρητϋσ γενικόσ
χρόςεωσ καθώσ και οι καταχωρητϋσ δεύκτη βρύςκονται τοπολογικϊ κοντϊ
και ςυνδϋονται μεταξύ τουσ με ϋναν δύαυλο που ονομϊζεται A-Bus. Στον ύδιο
δύαυλο ςυνδϋεται η αριθμητικό και λογικό μονϊδα ALU η οπούα κϊνει τισ
πρϊξεισ των ακεραύων . Επύςησ βλϋπουμε ότι οι καταχωρητϋσ τμημϊτων
που ςχετύζονται με τισ διευθύνςεισ εύναι επύςησ τοπολογικϊ κοντϊ
και ςυνδϋονται μεταξύ τουσ με ϋναν ϊλλο δύαυλο που ονομϊζεται B-Bus.
Στον ύδιο δύαυλο βλϋπουμε να ςυνδϋεται μύα μονϊδα πρόςθεςησ η οπούα
ςτην ουςύα βρύςκεται μϋςα ςτην αριθμητικό και λογικό μονϊδα και η οπούα
χρηςιμοποιεύται για να προςθϋτει τισ διευθύνςεισ βϊςησ και τουσ δεύκτεσ
ώςτε να προκύπτουν οι τελικϋσ διευθύνςεισ όταν χρηςιμοποιούνται
δεικτοδοτούμενεσ διευθυνςιοδοτόςεισ πχ . MOV CX,[0200+SI].