Εργαστήριο Αρχιτεκτονική Υπολογιστών ΙΙ ΤΡΑΠΕΖΑ ΘΕΜΑΤΩΝ Άσκηση 1 Γράψτε το περιεχόμενο του καταχωρητή στο δυαδικό (συμπληρώστε με μηδενικά όπου είναι απαραίτητο) μετά την εκτέλεση της εντολής MOV AX,AM ΑΗ= Άσκηση 2 ΑL= Ποια θα είναι η νέα τιμή του DX (δεκαδικό) ? MOV DX,(AM+1000)10 MOV DH,0 Άσκηση 3 Ένα σύστημα διαχειρίζεται μνήμη με το μοντέλο Segment:Offset με Εύρος Segment: [0, (AM+10)10] και Εύρος Offset: [0,ΑΜ10] Πόσες είναι οι συνολικές θέσεις μνήμης = ? Άσκηση 4 Διορθώστε πιθανό σφάλμα στο ακόλουθο πρόγραμμα και εξηγείστε τη λειτουργία του mov BH,1 a: cmp BH,10 jle L2 jmp L3 L2: jmp a L3: Άσκηση 5 Δίνεται το ακόλουθο πρόγραμμα: mov ax,1 mov bx,1 a: εντολή-1 εντολή-2 εντολή-3 jle a Διορθώστε πιθανό σφάλμα του προγράμματος και συμπληρώστε τις κατάλληλες εντολές ώστε να γίνεται υπολογισμός: S=1+3+5+7+9 Δρ. Παναγιώτης Παπάζογλου, Επίκουρος Καθηγητής Άσκηση 6 Δίνεται το ακόλουθο πρόγραμμα: ;AL=κώδικας ASCII χαρακτήρα που πληκτρολόγιο στο διάστημα ['b','z'] mov DL,AL sub DL,1 ;Αποθήκευση του DL στον πίνακα διαβάστηκε από το Ο κώδικας επαναλαμβάνεται ώστε να γίνεται ανάγνωση ενός κειμένου 9 χαρακτήρων το οποίο αποθηκεύεται σε πίνακα. Ποιο είναι το τελικό κείμενο που θα αποθηκευτεί στον πίνακα Αν έχει διαβαστεί το κείμενο hellogood ? Άσκηση 7 Δίνεται το ακόλουθο πρόγραμμα: PUSH AX PUSB BX POP AX POP BX Γράψτε το αντίστοιχο πρόγραμμα Assembly χωρίς τη χρήση των εντολών PUSH/POP Άσκηση 8 Δίνεται ο ακόλουθος κώδικας VHDL: Process A<=M; B<=N; D<=R; C<=A; A<=N; A<=R End Process Ποια θα είναι η τιμή των σημάτων μετά την έξοδο από το Process ? Άσκηση 9 Έστω process οργανωμένα ως εξής: Ομάδα 1 : proc1, proc2, proc3 Ομάδα 2 : proc4 Ομάδα 3 : proc5, proc6, proc7 Γράψτε τη γενική μορφή του κώδικα VHDL ώστε τα process να ενεργοποιούνται με τη σειρά: Ομάδα 1, Ομάδα 2, Ομάδα 3. Δρ. Παναγιώτης Παπάζογλου, Επίκουρος Καθηγητής Άσκηση 10 Το ακόλουθο πρόγραμμα διαβάζει ένα χαρακτήρα από πληκτρολόγιο mov ah,1 int 21h mov dl,al sub dl,30h Να συμπληρωθεί ο κώδικας ώστε το πρόγραμμα να υπολογίζει τον κύβο του αριθμού που εισάγεται. Θα πρέπει αρχικά να γίνει έλεγχος αν ο χαρακτήρας που έχει διαβαστεί αντιστοιχεί σε ψηφίο του δεκαδικού συστήματος. Άσκηση 11 Το ακόλουθο πρόγραμμα διαβάζει ένα χαρακτήρα από πληκτρολόγιο mov ah,1 int 21h mov dl,al sub dl,30h Αν το ψηφίο ανήκει στο δεκαδικό σύστημα θα εμφανίζεται ένας αστερίσκος και αν ανήκει στο δεκαεξαδικό θα εμφανίζεται ο χαρακτήρας “F”. Άσκηση 12 Το ακόλουθο πρόγραμμα διαβάζει ένα χαρακτήρα από πληκτρολόγιο mov ah,1 int 21h mov dl,al sub dl,30h Να γίνουν οι κατάλληλες τροποποιήσεις και προσθήκες ώστε το πρόγραμμα να διαβάζει δύο ψηφία και να υπολογίζει την τελική αξία του αριθμού. Άσκηση 13 Το ακόλουθο πρόγραμμα εμφανίζει το μήνυμα “hello” 10 φορές mov cx,0010 start: #εκτύπωσε “hello” loop start Να υλοποιηθεί πρόγραμμα που να εμφανίζει επίσης το μήνυμα “hello” αλλά χωρίς τη χρήση της εντολής loop. Άσκηση 14 Να γραφεί πρόγραμμα με δύο φωλιασμένους βρόχους ώστε το πλήθος των επαναλήψεων να είναι ίσο με το ΑΜ σας. Δρ. Παναγιώτης Παπάζογλου, Επίκουρος Καθηγητής Άσκηση 15 Να υλοποιηθεί σε INTEL Assembly ο ακόλουθος ψευδοκώδικας: Sum=0 I=1 Επανέλαβε Sum=Sum+I I=I+1 Όσο Ι<=5 Άσκηση 16 Να σχεδιαστεί ψευδοκώδικας ή διάγραμμα ροής για το ακόλουθο πρόγραμμα: mov BH,1 start: cmp BH,10 jle L2 jmp L3 L2: ; εντολές inc bh jmp start L3: Άσκηση 17 Να αναπτυχθεί πρόγραμμα που να υπολογίζει το 13+23+33+...+103 Άσκηση 18 Δίνεται το ακόλουθο πρόγραμμα: mov CX,........... .................. Again: mov AH,09h int 21h .................. .................. exit: mov int mes1 mes2 mes3 mes4 mes5 ax,4C00h 21h DB DB DB DB DB 'TEI of Lamia ',0ah,0dh,'$' 'Dept. of Informatics',0ah,0dh,'$' '& Computer ',0ah,0dh,'$' 'Technology ',0ah,0dh,'$' 'Lamia, Greece ',0ah,0dh,'$' Να συμπληρωθούν οι κατάλληλες εντολές ώστε να εμφανιστούν στην οθόνη τα ακόλουθα μηνύματα (με τη συγκεκριμένη σειρά): Δρ. Παναγιώτης Παπάζογλου, Επίκουρος Καθηγητής TEI of Lamia Dept. of Informatics & Computer Technology Lamia, Greece Σημείωση: η κλήση της συνάρτησης εμφάνισης θα αναγράφεται μόνο μια φορά στο πρόγραμμα. Άσκηση 19 Σε ένα πρόγραμμα Assembly έχουν δηλωθεί τρεις πίνακες ως εξής: pinakasA db 1, 9, 12, 2 pinakasB db 3, 1, 9, 7 pinakasC db ?, ?, ?, ? Συμπληρώστε τα κατάλληλα ορίσματα και εντολές ώστε κάθε στοιχείο του τρίτου πίνακα να αποτελεί το άθροισμα των αντίστοιχων στοιχείων από τους δύο πρώτους πίνακες. mov SI, ............................... mov BX, ............................. mov DI, .............................. mov CX, ............................ start: mov AL, [........] add ..................................... mov [..................], AL inc ...................... ............................ ............................ loop start exit: mov AX,4c00h int 21h pinakasA db 1, 9, 12, 2 pinakasB db 3, 1, 9, 7 pinakasC db ?, ?, ?, ? Δρ. Παναγιώτης Παπάζογλου, Επίκουρος Καθηγητής Άσκηση 20 Η συνάρτηση 1 της ομάδας 21h διαβάζει ένα χαρακτήρα από το πληκτρολόγιο. Να αναπτυχθεί πρόγραμμα που να υπολογίζει το άθροισμα 1+2+...+Ν, όπου Ν εισάγεται από το πληκτρολόγιο και είναι μονοψήφιος αριθμός. Άσκηση 21 Η συνάρτηση 2ah της ομάδας 21h διαβάζει την ημερομηνία του συστήματος (RTC) και επιστρέφει: AL=ημέρα της εβδομάδας (0=Κυριακή) CX=έτος (1980-2099) DH=μήνας (1-12) DL=ημέρα (1-31) Θεωρήστε ότι έχει γίνει ήδη η κλήση της. Αναπτύξτε πρόγραμμα που να ελέγχει αν βρισκόμαστε στην ημερομηνία 1 Νοεμβρίου και να εμφανίζει σχετικό μήνυμα. Άσκηση 22 Η συνάρτηση 2ah της ομάδας 21h διαβάζει την ημερομηνία του συστήματος (RTC) και επιστρέφει: AL=ημέρα της εβδομάδας (0=Κυριακή) CX=έτος (1980-2099) DH=μήνας (1-12) DL=ημέρα (1-31) Θεωρήστε ότι έχει γίνει ήδη η κλήση της. Αναπτύξτε πρόγραμμα που να ελέγχει αν βρισκόμαστε στο πρώτο εξάμηνο του έτους και να εμφανίζει σχετικό μήνυμα. Άσκηση 23 Να σχεδιαστεί ψευδοκώδικας ή διάγραμμα ροής για το ακόλουθο πρόγραμμα: cmp BH,0 jg L1 jl L2 ; Ομάδα εντολών #1 jmp L3 L1: ; Ομάδα εντολών #2 jmp L3 L2: ; Ομάδα εντολών #3 L3: Δρ. Παναγιώτης Παπάζογλου, Επίκουρος Καθηγητής Άσκηση 24 Να συμπληρωθεί ο ακόλουθος κώδικας VHDL ώστε να γίνεται υλοποίηση ενός D FlipFlop με ασύγχρονο Reset. Entity DFFR is port (D, Clock, Reset : in bit; Q : out bit); End DFFR; Architecture ARDFFR of DFFR is begin process (........................................) begin ................................. ................................. ................................. ................................. end process; End ARDFFR; Άσκηση 25 Να συμπληρωθεί ο ακόλουθος κώδικας VHDL ώστε να γίνεται υλοποίηση ενός καταχωρητή 8 bit. Entity Register8bit is port(D: ................................. Clock: ............................. Q: .................................); End Register8bit; Architecture Ar8 of Register8bit is begin process (..........................) begin if .................................. then Q <= D; end if; end process; End Ar8; Δρ. Παναγιώτης Παπάζογλου, Επίκουρος Καθηγητής Άσκηση 26 Να συμπληρωθεί ο ακόλουθος κώδικας VHDL ώστε να γίνεται υλοποίηση ενός D FlipFlop με σύγχρονο Reset. Entity DFFR is port (D, Clock, Reset : in bit; Q : out bit); End DFFR; Architecture ARDFFR of DFFR is begin process (........................................) begin ................................. ................................. ................................. ................................. end process; End ARDFFR; Άσκηση 27 Να συμπληρωθεί ο ακόλουθος κώδικας VHDL ώστε να γίνεται υλοποίηση ενός πλήρη αθροιστή Entity fulladder1 is port ( .................................. .................................. ); End fulladder1; Architecture fua of fulladder1 is begin ................................. ................................. ................................. ................................. End fua; Δρ. Παναγιώτης Παπάζογλου, Επίκουρος Καθηγητής Άσκηση 28 Να συμπληρωθεί ο ακόλουθος κώδικας VHDL ώστε να γίνεται υλοποίηση ενός D FlipFlop με σύγχρονο Clear και ασύγχρονο Preset. Entity DFFR is port (D, Clock, Clear, Preset : in bit; Q : out bit); End DFFR; Architecture ARDFFR of DFFR is begin process (........................................) begin ................................. ................................. ................................. ................................. end process; End ARDFFR; Άσκηση 29 Να συμπληρωθεί ο ακόλουθος κώδικας VHDL ώστε να γίνεται υλοποίηση ενός D FlipFlop με ασύγχρονο Clear και σύγχρονο Preset. Entity DFFR is port (D, Clock, Clear, Preset : in bit; Q : out bit); End DFFR; Architecture ARDFFR of DFFR is begin process (........................................) begin ................................. ................................. ................................. ................................. end process; End ARDFFR; Δρ. Παναγιώτης Παπάζογλου, Επίκουρος Καθηγητής Άσκηση 30 Να συμπληρωθεί ο ακόλουθος κώδικας VHDL ώστε να γίνεται υλοποίηση ενός D FlipFlop με ασύγχρονο Clear και ασύγχρονο Preset. Όταν θα είναι και τα δύο σήματα ενεργοποιημένα (Clear, Preset), η έξοδος Q θα είναι το συμπλήρωμα της εισόδου D. Entity DFFR is port (D, Clock, Clear, Preset : in bit; Q : out bit); End DFFR; Architecture ARDFFR of DFFR is begin process (........................................) begin ................................. ................................. ................................. ................................. end process; End ARDFFR; Άσκηση 31 Να γίνουν οι κατάλληλες αλλαγές στο πρόγραμμα VHDL ώστε τα δύο process να εκτελούνται ακολουθιακά. Architecture ARC of testEntity is begin A: process begin s <= a xor b; end process A; B: process begin c <= a and b; end process B; End ARC; Άσκηση 32 Το ακόλουθο process εκτελείται με την ενεργοποίηση κάποιου από τα δύο σήματα στη λίστα ενεργοποίησης. Γράψτε την αντίστοιχη υλοποίηση με χρήση ενεργοποίησης τύπου wait. Architecture ARC of testEntity is begin A: process (a,b) begin s <= a xor b; end process A; End ARC; Δρ. Παναγιώτης Παπάζογλου, Επίκουρος Καθηγητής Άσκηση 33 Δείξτε πως τρία process μπορούν να εκτελεστούν ακολουθιακά. Άσκηση 34 Γράψτε κώδικα VHDL που να περιέχει τρία process με το τρίτο να εκτελείται μόνο αν το επιτρέψουν τα πρώτα δύο. Άσκηση 35 Έστω ότι σε ένα πρόγραμμα Assembly έχουν δηλωθεί τα ακόλουθα μηνύματα: mes1 mes2 mes3 mes4 mes5 mes6 DB DB DB DB DB DB 'message1', 'message2', 'message3', 'message4', 'message5', 'message6', 0ah, 0ah, 0ah, 0ah, 0ah, 0ah, odh, odh, odh, odh, odh, odh, '$' '$' '$' '$' '$' '$' Η συνάρτηση 09 της ομάδας 21h εμφανίζει μήνυμα ξεκινώντας από τη διεύθυνση που δείχνει ο καταχωρητής DX. Γράψτε κατάλληλο πρόγραμμα το οποίο να εμφανίζει τα μηνύματα ως εξής: message1 message2 message3 message4 message5 message6 Η αναγραφή για την κλήση της συνάρτησης εμφάνισης (συνάρτηση 09) θα γίνεται μόνο μια φορά στο πρόγραμμα. Άσκηση 36 Δίνεται το ακόλουθο πρόγραμμα: PUSH AX PUSB BX POP AX POP BX PUSH CX Με δεδομένα τα αρχικά περιεχόμενα (πριν την εκτέλεση του προγράμματος) των καταχωρητών AX=0FAB, BX=0100, CX=34FF, γράψτε τα νέα τους περιεχόμενα μετά την εκτέλεση του παραπάνω προγράμματος. ΑΧ= ΒΧ= Άσκηση 37 Δίνεται το ακόλουθο πρόγραμμα: DEC AX PUSH AX PUSB BX DEC BX MOV CX,0ffffh Δρ. Παναγιώτης Παπάζογλου, Επίκουρος Καθηγητής CX= POP AX PUSH CX POP BX Με δεδομένα τα αρχικά περιεχόμενα (πριν την εκτέλεση του προγράμματος) των καταχωρητών AX=0FAB, BX=0100, CX=34FF, γράψτε τα νέα τους περιεχόμενα μετά την εκτέλεση του παραπάνω προγράμματος. AX= BX= CX= Άσκηση 38 Δίνεται το ακόλουθο πρόγραμμα: DEC AX PUSH AX start: PUSB BX DEC BX loop start POP AX PUSH CX POP BX Με δεδομένα τα αρχικά περιεχόμενα (πριν την εκτέλεση του προγράμματος) των καταχωρητών AX=0FAB, BX=0100, CX=0002, γράψτε τα νέα τους περιεχόμενα μετά την εκτέλεση του παραπάνω προγράμματος. AX= BX= CX= Άσκηση 39 Δίνεται το ακόλουθο πρόγραμμα Assembly: mov BH,-5 again: mov AX,000 ......................... mul AL mov CL,AL cmp CL,0 jz L1 dec CL again2: #εκτύπωση κενών ......................... Να συμπληρωθεί το πρόγραμμα με τις κατάλληλες εντολές ώστε να εκτυπώνεται η γραφική παράσταση της συνάρτησης f(x)=x2 Δρ. Παναγιώτης Παπάζογλου, Επίκουρος Καθηγητής Άσκηση 40 Να γραφεί πρόγραμμα VHDL (τμήμα Entity και Architecture) που να υλοποιεί ένα ημιαθροιστή. Δρ. Παναγιώτης Παπάζογλου, Επίκουρος Καθηγητής
© Copyright 2024 Paperzz