You are on page 1of 2

ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

ΑΣΚΗΣΗ 2 – Φυλλάδιο Ερωτήσεων

Επώνυμο: ΑΜ: Τμήμα(Εργαστηριακό):

Όνομα: Εξάμηνο:

2.1
Γράψτε ένα πρόγραμμα για να αποθηκεύσετε τον 16-bit αριθμό F7ΒΑH σπάζοντάς τον
στις θέσεις μνήμης 2040H, 2041H (δηλαδή ο ΒΑH στην θέση μνήμης 2040H και ο F7H
στην θέση μνήμης 2041H).
Στη συνέχεια πραγματοποιήστε την λογική πράξη AND μεταξύ του αποθηκευμένου 16-bit
αριθμού αυτού (F7ΒΑH) και του αριθμού CFFAH και σώστε το αποτέλεσμα στις θέσεις
μνήμης 2050H, 2051H. Θα γίνει λογική πράξη OR μεταξύ των 8 λιγότερων σημαντικών bit
του κάθε 16-bit αριθμού και μεταξύ των 8 περισσότερων σημαντικών bit του κάθε 16-bit
αριθμού (δηλαδή ΒΑΗ OR FAH και το αποτέλεσμα στην 2050H και F7Η OR CFH και το
αποτέλεσμα στην 2051H).
Στη συνέχεια, από το περιεχόμενο της θέσης μνήμης 2050Η να αφαιρέσετε το
περιεχόμενο της θέσης μνήμης 2051Η.
Στο αποτέλεσμα της αφαίρεσης, προσθέστε το περιεχόμενο της θέσης μνήμης 2030Η και
αποθηκεύσετε το άθροισμα στη θέση μνήμης 2052Η.
Αρχικοποιήστε τα περιεχόμενα της 2030Η με 34Η είτε βάζοντας το μέσω εντολών ή μέσω
του προγράμματος GNUSim8085 (διαλέξτε δεξιά θέσεις μνήμης και βάλτε στη 2030Η το
34Η).
Υπολογίστε τα αποτελέσματα μόνοι σας και δείτε στον fl ag register αν δημιουργήθηκε
κρατούμενο. Αιτιολογείστε την απάντηση σας.
Τρέξτε το πρόγραμμα και επιβεβαιώστε την ορθή μεταφορά όλων των δεδομένων
(μνήμης και καταχωρητών).

Διάγραμμα ροής προγράμματος

Κώδικας προγράμματος

2.2
Γράψτε ένα πρόγραμμα για να υπολογίζει το αποτέλεσμα του παρακάτω λογικού
κυκλώματος και να τοποθετεί το αποτέλεσμα στην 2030H. Θεωρείστε αρχικές τιμές στα
IN1=30H, IN2=31H, IN3=0AΑH, IN4=0B1H και IN5=55H.
Διάγραμμα ροής προγράμματος

Κώδικας προγράμματος

You might also like