teo
Πολύ δραστήριο μέλος
Ο Θοδωρής αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 37 ετών και επαγγέλεται Φοιτητής/τρια. Έχει γράψει 1,573 μηνύματα.
30-03-08
14:47
Ας δωσουμε μερικες θεωρητικες εξηγησεις για αυτο το θεμα. Λοιπον θα προσπαθησω να εξηγησω την αρχιτεκτωνικη των επεξεργαστων 8086/88.
Οι καταχωρητες των 8086/88
Ο 8086/88 περιλαμβανει δεκατεσσερεις καταχωρητες των 16bits. Μερικοι απο αυτους ειναι αφιερωμενοι σε ειδικες χρησεις, ενω αλλοι εχουν γενικη χρηση. Τους διακρινουμε σε τεσσερεις διαφορετικες ομαδες οπως φαινεται παρακατω.
Α. Καταχωρητες Γενικης Χρησης
ΑΧ-Συσσωρευτης των 16bits(AH και AL των 8 bits ο καθενας δηλ. εχουμε εναν καταχωρητη των 16bits απο τον οποιο μπορουμε να χρησιμοποιησουμε αμα θελουμε εμεις τα 8 πρωτα bits(AL) ή τα υπολοιπα bits του καταχωρητη(AH))
ΒΧ-BH Και BL-16bits-Βάσης
CX-CH και CL-16Bits Μετρητης
DX-DH και DL-16bits δεδομενων
Θα εξηγησω τωρα με περισσοτερη λεπτομερια αυτους τους παραπανω καταχωρητες γενικης χρησης
-Ο καταχωρητης AX (Accumulator-συσσωρευτης) χρησιμοποιειται συχνα για την εκτελεση αριθμητικων πραξεων. Μερικες πραξεις εκτελουνται γρηγοροτερα αν χρησιμοποιειται ο AX , ενω αλλες, οπως ο πολλαπλασιασμος και η διαιρεση, πρεπει να γινονται στον ΑΧ.
-Ο καταχωρητης BX(Base-Βάσης) εκτός απο τη γενική χρηση του χρήση έχει και την ειδική. Οταν εμφανιζεται σε μια εκφραση της μορφης [BX], ο συμβολομεταφραστης μεταφραζει την τιμη του ΒΧ σε μια ενεργο διευθυνση και οχι σαν ενα δεδομενο. Αυτου του ειδους η χρηση ειναι η περιπτωση εμμεσου τροπου προσδιορισμου μιας διευθυνσης (indirect addressing). Πιο απλα ο ΒΧ δειχνει τη διευθυνση της αρχης (βασης) ενος πινακα δεδομενων.
-Ο καταχωρητης CX (Count-μετρησης) χρησιμοποιειται σαν μετρητης επαναληψεων για τον ελεγχο βροχων και για την επαναλαμβανομενη διακινηση δεδομενων. Φυσικα ειναι διαθεσιμος και για γενικοτερες χρησεις
- Ο καταχωρητης DX (Data-δεδομενων) χρησιμοποιειται για την αποθηκευση δεδομενων γενικοτερης χρησιμοτητας παρ΄ ολο που και αυτος εχει ορισμενες εξειδικευμενες χρησεις. Για παραδειγμα ο DX περιεχει το υπολοιπο των διαιρεσεων που εκτελουνται στον ΑΧ.
Β. Καταχωρητες τμηματων
Η μνημη του 8086/88 ειναι χωρισμενη σε τμηματα χωρητικότητας 64 Kbytes το καθενα. Η ΚΜΕ εχει αμεση προσπελαση σε τεσσερα τετοια τμηματα οταν εκτελει ενα προγραμμα . Αυτα ειναι:
-Το τμημα Κώδικα (Code segment-CS), που περιεχει τον εκτελεσιμο κωδικα. (π.χ εντολες mov)
-Το τμημα δεδομενων(data segment-DS), που περιεχει τα δεδομενα του προγραμματος (μεταβλητες)
-Το τμημα στοιβας (stack segmen-SS). Στοιβα ειναι μια περιοχη της μνημης που χρησιμοποιειται για προσωρινη αποθηκευση δεδομενων κατα τη διαρκεια εκτελεσης ενος προγραμματος
-Το επιπλεον τμημα (extra segment-ES), που περιεχει δεδομενα του προγραμματος που πιθανον να μη χωρουν στο τμημα δεδομενων
Καθενας απο αυτους τους καταχωρητες περιεχει μια τιμη των 16bits, η οποια αντιπροσωπευει τη διευθυνση (γνωστη και ως διευθυνση τμηματος) απο την οποια αρχιζει καποιο τμημα.
Γ. Καταχωρητες Δεικτων
- DI-16bits-Δεικτης προορισμου
-SI-16bits-Δεικτης προελευσης
-SP-16bits- Δεικτης στοιβας
-BP-16bits-Δεικτης βασης
Δ. Δεικτης Εντολων
Ο δεικτης εντολων-IP, δειχνει την επομενη εντολη που θα εκτελεστει απο το προγραμμα.
πηγή: σημειώσεις συγγράμματος του ΤΕΙ Αθηνών.
Τις επομενες ημερες θα εξηγησω αναλυτικα το προγραμμα Assembly που δημιουργησα. Αυτο γιατι δεν εχω τον απαιτουμενο ελευθερω χρονο για να τα κανω ολα μαζι.
Ευχαριστω για την κατανοηση.
Οι καταχωρητες των 8086/88
Ο 8086/88 περιλαμβανει δεκατεσσερεις καταχωρητες των 16bits. Μερικοι απο αυτους ειναι αφιερωμενοι σε ειδικες χρησεις, ενω αλλοι εχουν γενικη χρηση. Τους διακρινουμε σε τεσσερεις διαφορετικες ομαδες οπως φαινεται παρακατω.
Α. Καταχωρητες Γενικης Χρησης
ΑΧ-Συσσωρευτης των 16bits(AH και AL των 8 bits ο καθενας δηλ. εχουμε εναν καταχωρητη των 16bits απο τον οποιο μπορουμε να χρησιμοποιησουμε αμα θελουμε εμεις τα 8 πρωτα bits(AL) ή τα υπολοιπα bits του καταχωρητη(AH))
ΒΧ-BH Και BL-16bits-Βάσης
CX-CH και CL-16Bits Μετρητης
DX-DH και DL-16bits δεδομενων
Θα εξηγησω τωρα με περισσοτερη λεπτομερια αυτους τους παραπανω καταχωρητες γενικης χρησης
-Ο καταχωρητης AX (Accumulator-συσσωρευτης) χρησιμοποιειται συχνα για την εκτελεση αριθμητικων πραξεων. Μερικες πραξεις εκτελουνται γρηγοροτερα αν χρησιμοποιειται ο AX , ενω αλλες, οπως ο πολλαπλασιασμος και η διαιρεση, πρεπει να γινονται στον ΑΧ.
-Ο καταχωρητης BX(Base-Βάσης) εκτός απο τη γενική χρηση του χρήση έχει και την ειδική. Οταν εμφανιζεται σε μια εκφραση της μορφης [BX], ο συμβολομεταφραστης μεταφραζει την τιμη του ΒΧ σε μια ενεργο διευθυνση και οχι σαν ενα δεδομενο. Αυτου του ειδους η χρηση ειναι η περιπτωση εμμεσου τροπου προσδιορισμου μιας διευθυνσης (indirect addressing). Πιο απλα ο ΒΧ δειχνει τη διευθυνση της αρχης (βασης) ενος πινακα δεδομενων.
-Ο καταχωρητης CX (Count-μετρησης) χρησιμοποιειται σαν μετρητης επαναληψεων για τον ελεγχο βροχων και για την επαναλαμβανομενη διακινηση δεδομενων. Φυσικα ειναι διαθεσιμος και για γενικοτερες χρησεις
- Ο καταχωρητης DX (Data-δεδομενων) χρησιμοποιειται για την αποθηκευση δεδομενων γενικοτερης χρησιμοτητας παρ΄ ολο που και αυτος εχει ορισμενες εξειδικευμενες χρησεις. Για παραδειγμα ο DX περιεχει το υπολοιπο των διαιρεσεων που εκτελουνται στον ΑΧ.
Β. Καταχωρητες τμηματων
Η μνημη του 8086/88 ειναι χωρισμενη σε τμηματα χωρητικότητας 64 Kbytes το καθενα. Η ΚΜΕ εχει αμεση προσπελαση σε τεσσερα τετοια τμηματα οταν εκτελει ενα προγραμμα . Αυτα ειναι:
-Το τμημα Κώδικα (Code segment-CS), που περιεχει τον εκτελεσιμο κωδικα. (π.χ εντολες mov)
-Το τμημα δεδομενων(data segment-DS), που περιεχει τα δεδομενα του προγραμματος (μεταβλητες)
-Το τμημα στοιβας (stack segmen-SS). Στοιβα ειναι μια περιοχη της μνημης που χρησιμοποιειται για προσωρινη αποθηκευση δεδομενων κατα τη διαρκεια εκτελεσης ενος προγραμματος
-Το επιπλεον τμημα (extra segment-ES), που περιεχει δεδομενα του προγραμματος που πιθανον να μη χωρουν στο τμημα δεδομενων
Καθενας απο αυτους τους καταχωρητες περιεχει μια τιμη των 16bits, η οποια αντιπροσωπευει τη διευθυνση (γνωστη και ως διευθυνση τμηματος) απο την οποια αρχιζει καποιο τμημα.
Γ. Καταχωρητες Δεικτων
- DI-16bits-Δεικτης προορισμου
-SI-16bits-Δεικτης προελευσης
-SP-16bits- Δεικτης στοιβας
-BP-16bits-Δεικτης βασης
Δ. Δεικτης Εντολων
Ο δεικτης εντολων-IP, δειχνει την επομενη εντολη που θα εκτελεστει απο το προγραμμα.
πηγή: σημειώσεις συγγράμματος του ΤΕΙ Αθηνών.
Τις επομενες ημερες θα εξηγησω αναλυτικα το προγραμμα Assembly που δημιουργησα. Αυτο γιατι δεν εχω τον απαιτουμενο ελευθερω χρονο για να τα κανω ολα μαζι.
Ευχαριστω για την κατανοηση.
Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
teo
Πολύ δραστήριο μέλος
Ο Θοδωρής αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 37 ετών και επαγγέλεται Φοιτητής/τρια. Έχει γράψει 1,573 μηνύματα.
29-03-08
20:53
Στην περιπτωση που καποιος δεν μπορει να κανει Run για το προγραμμα Assembly να μου στειλει πμ
Υποδειξεις:
Μεταγλωττιση ενος προγραμματος σε assebly: θα πλητρολογησετε στο cmd την εντολη
masm /v/z/w2/zi FileName(ονομα πηγαιου αρχειου π.χ filename.asm)
Για την συνδεση με τις βιβλιοθηκες θα πλητρολογησετε στο cmd την εντολη
link /co FileName(ονομα αντικειμενου αρχειου-object- π.χ filename.obj)
Για εκτελεση απλα FileName(ονομα αρχειου-filename.exe)
Καλη τυχη
Download Environ:
Υποδειξεις:
Μεταγλωττιση ενος προγραμματος σε assebly: θα πλητρολογησετε στο cmd την εντολη
masm /v/z/w2/zi FileName(ονομα πηγαιου αρχειου π.χ filename.asm)
Για την συνδεση με τις βιβλιοθηκες θα πλητρολογησετε στο cmd την εντολη
link /co FileName(ονομα αντικειμενου αρχειου-object- π.χ filename.obj)
Για εκτελεση απλα FileName(ονομα αρχειου-filename.exe)
Καλη τυχη
Download Environ:
Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.