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

Σχετικά έγγραφα
ΘΕΜΑΤΑ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ-ΙΙ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Προηγμένοι Μικροεπεξεργαστές. Φροντιστήριο 2 Addressing

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αρχιτεκτονική x86(-64) 32-bit και 64-bit λειτουργία. Αρχιτεκτονική x86(-64) Αρχιτεκτονική επεξεργαστών x86(-64) Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

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

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

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

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

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

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

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

Αρχιτεκτονική Υπολογιστών II Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων

Άσκηση 1η. Θεωρήστε ένα σύστημα μνήμης με μία cache: 4 way set associative μεγέθους 256ΚΒ,

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

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

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

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

; Οι HL δείχνουν την επόµενη θέση µνήµης MVI A, 38H CMP H JNZ DO_FLMEM ; POP B. ; Ανάκτηση καταχωρητών απο το σωρό.

Συναρτήσεις-Διαδικασίες

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

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη. (και ο ρόλος της στην ιεραρχία μνήμης)

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

Εργαστήριο 4. Εαρινό Εξάμηνο ΠΡΟΣΟΧΗ: Αρχίστε νωρίς το Εργαστήριο 4. Οι ασκήσεις είναι πιο απαιτητικές από τα προηγούμενα εργαστήρια.

Ασκήσεις Caches

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

Ασκήσεις Caches

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

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

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

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

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

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

Διαδικασίες Ι. ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι. Διάλεξη 4

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 8. Χειμερινό Εξάμηνο

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

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

Ασκήσεις Caches. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης

Προηγμένοι Μικροεπεξεργαστές. Φροντιστήριο 4 Real Mode Interrupts

Η ιεραρχία της μνήμης

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

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

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

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

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

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

add $t0,$zero, $zero I_LOOP: beq $t0,$s3, END add $t1, $zero,$zero J_LOOP: sub $t2, $s3, $t0 add $t2, $t2, $s1 int i, j, tmp; int *arr, n;

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης

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

Transcript:

ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ 1. CS1=0100H, CS2=1100H, DS=2100H, SS=3100H. α) Να σχεδιαστεί ο χάρτης μνήμης με λογικές και φυσικές διευθύνσεις. β) Στη διεύθυνση CS1:0100H υπάρχει η εντολή: 9A IP IP CS CS CALL 11200H. Να συμπληρωθούν τα πεδία ΙΡ και CS της εντολής. γ) Εάν SP=0000H, τι γράφεται στο σωρό με την εκτέλεση της εντολής CALL; α) 00000 H ΑΡΧΗ SEGMENT CS1 01000 H (01000 + 0000) ΤΕΛΟΣSEGMENT CS1 10FFF H (01000+ FFFF) ΑΡΧΗ SEGMENT CS2 11000 H (11000 + 0000) ΤΕΛΟΣSEGMENT CS2 20FFF H (11000+ FFFF) ΑΡΧΗ SEGMENT DS 21000 H (21000 + 0000) ΤΕΛΟΣSEGMENT DS 30FFF H (21000+ FFFF) ΑΡΧΗ SEGMENT SS 31000 H (31000 + 0000) ΤΕΛΟΣSEGMENT SS 40FFF H (31000+ FFFF) FFFFF H β) Η φυσική διεύθυνση 11200 Η ευρίσκεται στο CS2. Επομένως η λογική διεύθυνση είναι: 1100 0 xxx x 0200 H 11200 Επομένως η εντολή είναι: 9A IPL IPH CS2L CS2H CALL 11200H ή 9A 00 02 00 11 CALL 11200H. γ) Επειδή η εντολή CALL καλεί υπορουτίνα σε άλλο τμήμα, διατμηματική κλήση, θα αποθηκεύσει στο σωρό το τμήμα και τον ΙΡ της επόμενης εντολής. Η επόμενη εντολή ευρίσκεται στη θέση CS1:0105H. Άρα: 1

31000 H 3100H:FFFCH 3100H:FFFFH IPL=05H IPH=01H CS1L=00H CS1H=01H 40FFF H 2. Στη διεύθυνση του παραπάνω χάρτη μνήμης CS1:0105Η υπάρχει η εντολή CD 12 ΙΝΤ 12Η. α) Τι πρέπει να υπάρχει στον πίνακα των διανυσμάτων διακοπής, εάν η ΥΕΔ ευρίσκεται στη διεύθυνση 1AF52H. β) Εάν SP=0000H, τι γράφεται στο σωρό με την εκτέλεση της εντολής INT; α) Η φυσική διεύθυνση 1AF52 Η ευρίσκεται στο CS2. Επομένως η λογική διεύθυνση είναι: 1100 0 xxx x 9F52 H 1AF52 Το διάνυσμα διακοπής θα είναι CS2:IP 1100:9F52 και θα ευρίσκεται στη διεύθυνση 4*12Η=00048Η. 00000 H IPL=52H IPH=9FH CS1L=00H CS1H=11H 00048 H 00049 H 0004A H 0004B H β) Η επόμενη εντολή ευρίσκεται σε διεύθυνση offset 0107H. Σε διακοπή αποθηκεύονται και τα flags. 31000 H 3100H:FFFAH 3100H:FFFFH IPL=07H IPH=01H CS1L=00H CS1H=01H FLAGS LOW FLAGS HIGH 40FFF H 2

3. Μία κύρια μνήμη 16 ΜΒ «κασάρεται» σε μία κρυφή μνήμη 32 ΚΒ με τη μέθοδο της άμεσης αντιστοίχισης. Να σχεδιαστεί η κύρια μνήμη μόνο και τα μπλοκ στα οποία διαιρείται για το κασάρισμα (σχεδιαστικά και αριθμητικά). Η κάθε γραμμή της κρυφής μνήμης είναι 8 Bytes. Η κρυφή μνήμη αποτελείται από n γραμμές, όπου κάθε γραμμή έχει χωρητικότητα 8 bytes. Επομένως: 32 ΚΒ=n*8 n=4096 γραμμές. Η κρυφή μνήμη στην άμεση αντιστοίχιση γεμίζει με ένα μπλοκ της κύριας μνήμης, το οποίο φυσικά θα έχει την ίδια χωρητικότητα, δηλαδή 32 ΚΒ. Άρα η κύρια μνήμη διαιρείται σε m μπλοκ των 32 ΚΒ 16 ΜΒ=m*32 KB m=512. Το κάθε μπλοκ των 32 ΚΒ διαιρείται σε q μπλοκ των 8 bytes, επειδή κάθε μπλοκ των 8 bytes γεμίζει μία γραμμή της κρυφής. Επομένως: 32ΚΒ=q*8 q=4096. Άρα η κύρια μνήμη χωρίζεται σε: 512 μπλοκ των 32 ΚΒ και κάθε μπλοκ των 32 ΚΒ χωρίζεται σε: 4096 μπλοκ των 8 bytes 4. Δημιουργείστε τις συνδέσεις ώστε ο επεξεργαστής να έχει 20 γραμμές Address Bus και 16 γραμμές Data Bus. Συμπληρώστε τα σήματα που δεν υπάρχουν. (LE=Latch Enable=Active High). D0-D15 AD0-AD7 Latch LE A0-A7 AD8-AD15 8086 Latch LE A8-A15 ALE A0-A19 A16-A19 5. Σημειώστε τα σήματα για τον παρακάτω κύκλο μηχανής. Συμπληρώστε το σήμα το οποίο διακρίνει αυτόν τον κύκλο μηχανής από έναν αντίστοιχο κύκλο ανάγνωσης για περιφερειακό εισόδου. [1] Clock ALE AD0-AD15 A16-A19 A0-A15 D0-D15 RD WR M/IO 3

6. ΑΧ=4433Η και DX=0100H. Εκτελείται η εντολή OUT DX,AX η οποία αποτελείται μόνο από τον κώδικα εντολής EF. Σε πόσους κύκλους μηχανής και σε πόσες περιόδους ρολογιού θα εκτελεστεί αυτή η εντολή; ΚΥΚΛΟΣ ΕΝΤΟΛΗΣ = FETCH + ΕΓΓΡΑΦΗ ΤΗΣ ΛΕΞΗΣ ΑΧ ΣΤΗΝ ΠΟΡΤΑ ΜΕ ΔΙΕΥΘΥΝΣΗ 0100Η=8Τ Η εγγραφή μίας λέξης (4433Η) στις πόρτες 0100Η και 0101Η (33Η 0100Η και 44Η 0101Η) θα γίνει σε έναν κύκλο μηχανής γιατί η διέυθυνση είναι άρτια. 7. Ποιά είναι η διαφορά ενός καταχωρητή τμήματος του 8086 από τον αντίστοιχο στην προστατευμένη λειτουργία του 80386; Στον 8086, ο καυαχωρητής τμήματος ορίζει την αρχή του τμήματος, ενώ στον 80386 και στην προστατευμένη λειτουργία δείχνει τη θέση του περιγραφέα του τμήματος σε έναν πίνακα που ορίζει ο γενικός πίνακας περιγραφέων (GDTR) ή ο τοπικός πίνακας περιγραφέων (LDTR). Ο περιγραφέας τμήματος αποτελείται από 8 bytes και ορίζει την αρχή (φυσική διεύθυνση μνήμης) και το μήκος του τμήματος. 8. DS=1ΑF0H. Από τη φυσική διεύθυνση 1C36AΗ και μετά ευρίσκονται αποθηκευμένα τα δεδομένα: 11Η, 22Η, 33Η, 44Η, 55Η, 66Η. α) Εάν ο ΒΧ δείχνει το δεδομένο 44Η, ποια είναι η τιμή του; β) Εκτελείται η εντολή MOV[BX+1],AL. Εάν ΑΧ=00AAH, τι θα αλλάξει στον πίνακα δεδομένων; Σε πόσους κύκλους μηχανής και σε πόσες περιόδους ρολογιού θα εγγραφούν τα δεδομένα; Εξηγείστε τους λόγους. α) 1C36A-1AF00=146A H ΒΧ=146D H. β) Θα γραφτεί στη διεύθυνση 1C36E H ή σε offset 146E H, η τιμή ΑΑ Η. Το 55 Η θα αντικατασταθεί από το ΑΑ Η. Αυτό θα γίνει σε έναν κύκλο μηχανής ή 8 Τ επειδή πρόκειται για εγγραφή ενός byte σε μία θέση μνήμης. 9. Εκτελείται η εντολή PUSH AX, όπου ΑΧ=052BΗ και SP=FF2BH. Σε πόσες περιόδους ρολογιού θα αποθηκευτεί ο ΑΧ στο σωρό και γιατί; Εάν μετά εκτελεστεί η εντολή POP AX, σε πόσες περιόδους ρολογιού θα ανακτηθούν τα δεδομένα και γιατί; Η λειτουργία του σωρού είναι (SP-1) AH και (SP-2) AL. Δηλαδή: (FF2A) 05 και (FF29) 2B. Κανονικά θα απαιτούσε 2 κύκλους μηχανής επειδή πρόκειται για 2 λειτουργίες εγγραφής δεδομένων στη μνήμη. Όμως, επειδή η διεύθυνση εγγραφής είναι άρτια, η αποθήκευση θα γίνει σε 1 κύκλο μηχανής (θα αποθηκευτεί λέξη). Η εντολή POP AX λειτουργεί ως εξής: AL (SP) και AH (SP+1). Δηλαδή: AL (FF29) και AH (FF2A). Επειδή πρόκειται για ανάγνωση λέξης από περιττή διεύθυνση, η ανάκτηση θα γίνει σε 2 κύκλους μηχανής ή 8 Τ. 4

1. Να γραφτεί πρόγραμμα το οποίο θα αποθηκεύει στη μεταβλητή CON1 τον αριθμό των λέξεων που περιέχει η συμβολοσειρά STR1 και στη μεταβλητή CON2 τον αύξοντα αριθμό που η λέξη STR2 ευρίσκεται στην STR1. Να χρησιμοποιηθεί η εντολή CMPSW. STR1 DB ABCDEFGHIJKLMN STR2 DB CD CON1 DB 00H CON2 DB 00H STR1 DB 'ABCDEFGHIJKLMN' STR2 DB 'CD' CON1 DB 00H CON2 DB 00H START: MOV AX,SEG STR1 MOV SI,OFFSET STR1 CLD MOV BX,OFFSET CON1 MOV DX,0 MOV CX,STR2-STR1 SHR CX,1 MOV [BX],CL LL1: MOV DI,OFFSET STR2 CMPSW JNZ LL2 INC DX LL2: LOOP LL1 INC BX MOV [BX],DL 2. Δίνεται το ακόλουθο τμήμα δεδομένων: INDEX DB 4 LEN DB 10 VAR1 DB 1234567890 VAR2 DB ABCDEFGHIJ Να γραφτεί πρόγραμμα το οποίο θα μετακινεί τη συμβολοσειρά από το στοιχείο INDEX του VAR1 έως το τέλος του VAR1 στις θέσεις από το στοιχείο INDEX του VAR2 έως το τέλος του VAR2. Στη συγκεκριμένη περίπτωση, το αποτέλεσμα του προγράμματος θα είναι: VAR2 DB ABC4567890. (θέμα ίδιο με Α ΠΕΡΙΟΔΟΥ ΧΕΙΜΕΡΙΝΟΥ 2006-2007) INDEX DB 4 LEN DB 10 VAR1 DB 1234567890 VAR2 DB ABCDEFGHIJ START: 5

NEXT: MOV AX,SEG LEN MOV SI,OFFSET VAR1 MOV DI,OFFSET VAR2 MOV CL,[LEN] ;Συνολικό μήκος (10) MOV BL,[INDEX] ;Δείκτης θέσης (4) MOV BH,00H SUB CL,BL INC CL ;Πραγματικό μήκος μετακίνησης (5) MOV AL,[SI+BX-1] MOV [DI+BX-1],AL INC BL LOOP NEXT ;Loop μετακίνησης 3. Εισάγεται από το πληκτρολόγιο πάντα ένας αριθμός 0 ή 1 (δεν χρειάζεται περιορισμός αποκλεισμού άλλων χαρακτήρων). Να γραφτεί το πρόγραμμα το οποίο θα εκτυπώνει στην οθόνη τον αριθμό επαναλήψεων του 0 ή 1 στη συμβολοσειρά του παρακάτω τμήματος δεδομένων. LEN DB 20 VAR1 DB 0,1,2,1,3,0,3,0,7,1,1,8,9,0,0,1,0,4,5,1 LEN DB 20 VAR1 DB 0,1,2,1,3,0,3,0,7,1,1,8,9,0,0,1,0,4,5,1 START: MOV AX,SEG LEN MOV AH,08H INT 21H SUB AL,30H ;AL=00 ;H 01 MOV BX,OFFSET VAR1 MOV CL,[LEN] MOV CH,0 MOV SI,0 MOV DL,0 L2: CMP AL,[BX+SI] JNZ L1 INC DL L1: INC SI LOOP L2 ADD DL,30H MOV AH,02H INT 21H 6

4. Να γραφτεί πρόγραμμα το οποίο να προσθέτει τους δεκαδικούς αριθμούς 345 και 149 και να αποθηκεύει το δεκαδικό αποτέλεσμα στη μνήμη. Να δημιουργηθεί το τμήμα δεδομένων. BCD DW 0345H,0149H RES DW 0 START: MOV AX,SEG BCD MOV BX,OFFSET BCD MOV AX,[BX] MOV DX,[BX+2] ADD AX,DX DAA ADC AH,0 MOV [BX+4],AX 5. Δώστε το αποτέλεσμα του παρακάτω προγράμματος: VAR DB 55,'3A2', 10H, 5BCDE, 00101011B MOV AX,SEG VAR LEA BX,VAR ;BX=OFFSET VAR MOV DL,[BX] ;DL=37H MOV AX,[BX+2] ;AX=3241H SUB AL,37H ;AL=41-37=0AH XLAT ;BX+AL=ADDRESS OF 00101011B AL=00101011B=2BH MOV [BX+4],AX ;AL=2BH REPLACES 10H & AH=32H REPLACES 5 6. Να γραφτεί πρόγραμμα το οποίο θα κάνει έξοδο στην πόρτα με διεύθυνση PORT, τις λέξεις που ευρίσκονται στη διεύθυνση TABLE και έχουν μήκος που ευρίσκεται στη διεύθυνση LEN. LEN DB 05H PORT DW 0802H TABLE DW 1122H, ABCD,1024H,345EH, EFKL LEN DB 05H PORT DW 0802H TABLE DW 1122H, ABCD,1024H,345EH, EFKL START: MOV AX,SEG LEN MOV CL,[LEN] MOV CH,0 MOV DX,[PORT] MOV BX,OFFSET TABLE MOV SI,0 NEXT: 7

MOV AX,[BX+SI] OUT DX,AX INC SI INC SI LOOP NEXT 8