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



Σχετικά έγγραφα
Συστήματα Μικροϋπολογιστών

Συστήματα Μικροϋπολογιστών. Παραδείγματα χρήσης διαδικασιών Εισόδου Εξόδου δεδομένων στον με 8085

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

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

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

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

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

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

ΠΑΡΑ ΕΙΓΜΑ 8 ΓΕΝΝΗΤΡΙΑ ΨΕΥ ΟΤΥΧΑΙΩΝ ΑΡΙΘΜΩΝ (PSEUDORANDOM GENERATOR) 8.0 ΓΕΝΙΚΑ

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

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

ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ Ι Μικροεπεξεργαστής Intel 8085, Εργαστηριακές Ασκήσεις

ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ Ι Μικροεπεξεργαστής 8085, Εργαστηριακές Ασκήσεις

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

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

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

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

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

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

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

Θέµα 1 (15%): (απαιτούµενος χρόνος < 15 λεπτά)

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

ΑΣΚΗΣΗ ΜHΧΑΤΡΟΝΙΚΗΣ. Τέλος όταν εισάγετε ένας σωστός συνδυασμός η ένδειξη του display να μηδενίζετε.

ΜΑΘΗΜΑ 2, Έλεγχος ροής προγράμματος ΒΑΣΙΚΗ ΣΥΝΤΑΞΗ:

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Μέρος Β (Οργάνωση Υπολογιστών)

Παραδείγματα Προγραμματισμού σε Assembly του TRN

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

Οργάνωση Η/Υ. Ο Επεξεργαστής TRN. Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου

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

Αυτή η άσκηση έχει σαν σκοπό, να δείξει τον τρόπο με τον οποίο τίθεται σε λειτουργία η οθόνη LCD του αναπτυξιακού.

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

Οδηγώντας μια οθόνη υγρών κρυστάλλων Liquid Crystal Display

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

Σύνοψη είτε τις ολοκληρωµένες απαντήσεις

Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών. Βοήθημα εκτέλεσης εργαστηριακής άσκησης 4: Ρουτίνες καθυστέρησης. [Συγγραφή ρουτίνας καθυστέρησης]

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

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

ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ Ι Μικροεπεξεργαστής 8085, Εργαστηριακές Ασκήσεις

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

ΜΑΘΗΜΑ: ΜΙΚΡΟΕΛΕΓΚΤΕΣ

10. Πληκτρολόγιο matrix 4x4

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

Προηγμένοι Μικροεπεξεργαστές. Εργαστήριο 4 - Editor

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

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

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

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

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

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

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για:

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

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

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

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

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

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

Συμβολική Γλώσσα στον ΑΒΑΚΑ

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Παράδειγµα: Καταχωρητής 2-bit. Καταχωρητής 4-bit. Μνήµη Καταχωρητών

"ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ" (ΕΜ102), ΕΡΓΑΣΙΑ 1η

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

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

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ασκήσεις 7: Πρόγραμμα Συνδεδεμένης Λίστας και Διαδικασιών. Μανόλης Γ.Η.

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

ΘΕΜΑΤΑ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ-ΙΙ

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

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

26-Nov-09. ΗΜΥ 210: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο Καταχωρητές 1. Διδάσκουσα: Μαρία Κ. Μιχαήλ

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Καταχωρητές 1

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2)

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

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ : Κ. ΠΕΚΜΕΣΤΖΗ

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων Τµήµα Επιστήµης Υπολογιστών Χειµερινό Εξάµηνο

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers)

ΣΥΝΑΡΤΗΣΕΙΣ Παραδείγματα χρήσης συναρτήσεων

Θέμα 1ο (3 μονάδες) Υλοποιήστε το ακoλουθιακό κύκλωμα που περιγράφεται από το κατωτέρω διάγραμμα

8051 Interrupt Ports. Name Alternate Function

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Γ ΕΠΑΛ 14 / 04 / 2019

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

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

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

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

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

ΠΕΡΙΕΧΟΜΕΝΑ 1. Υπορουτίνες Μαθηµατικών Πράξεων 1.1. Προσηµασµένοι και απροσήµαστοι αριθµοί 1.2. Μετατροπές προσηµασµένων και απροσήµαστων αριθµών

Αρχή ή τέλος ή κοµβικό σηµείο. Λειτουργία εισόδου / εξόδου. Έλεγχος. Πράξεις / ενέργειες. Βρόχος R7 φορές

Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής. Αρχιτεκτονική Υπολογιστών. 3ο Μάθημα

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

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

Εργαστηριακές σημειώσεις για το μάθημα: «Εισαγωγή στην Μηχατρονική»

9.2 Μελετώντας τρισδιάστατα γραφικά στο επίπεδο Oi sunartήseiv Contour Plot kai DensityPlot

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

SIEMENS Squirrel Cage Induction Standard Three-phase Motors

Υπολογιστικά Συστήματα Λογική Σχεδίαση Αρχιτεκτονική Η/Υ Διδάσκοντες: Δρ. Ευγενία Αδαμοπούλου, Δρ. Κώστας Δεμέστιχας

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Μηχανές Πεπερασμένων Καταστάσεων

Παραδείγματα Assembly Μέρος Γ

Εργαστήριο ΕΙΣΑΓΩΓΗ ΣΤΗΝ INTEL ASSEMBLY 32BIT

ΑΣΚΗΣΗ 1 ΑΣΚΗΣΗ 1. Συγγραφή. Αρχιτεκτονική Η/Υ ΗΜΟΣ ΜΠΟΛΑΝΑΚΗΣ

Transcript:

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ Συστήματα Μικροϋπολογιστών 3η Oμάδα Ασκήσεων Δημητρίου Ανδριάνα 03110684 Σκούρα Ελένη 03110721

1 η 4 η Άσκηση i) Στο πρόβλημα αυτό μας ζητείται να υλοποιήσουμε ένα πρόγραμμα, σε assembly 8085, το οποίο να διαβάζει την πόρτα εισόδου των dip-switches και με βάση το πρώτο δεξιότερο ΟΝ να ανάβει το αντίστοιχης τάξης LED καθώς και όλα τα υψηλότερης τάξης. Το πρόγραμμα να είναι συνεχούς λειτουργίας. Παρακάτω φαίνεται ο κώδικάς μας: IN 10H START: LDA 2000H ;diavasma twn dip-switches MOV D,A ;save A MVI E,08H ;metrhths bits IF_ZERO: CPI 00H ;an den exei ginei kanena ON JZ LEDS_OFF CHECK0: RRC ;olhs8hsh mia 8esh de3ia JC LEDS_ON ;an to Carry ginei 1, dhladh LSB dip-switch ON DCR E ;meiwsh tou metrith JZ LEDS_ON ;mexri na ginei 0 JMP CHECK0 LEDS_ON: MOV A,D ;o A pairnei thn arxikh timh twn dip-switches MOV H,A ;ston H apo8hkeuetai h arxikh timh tou A MVI A,80H ; (A) <- 1000 0000 SUNEXEIA: MOV L,A ; save A ORA H ; gia na paroume tous assous MOV H,A ; save A MOV A,L DCR E ;meiwsh metrhth JZ EMFANISH ;an eftase sto 0 shmainei oti exoume valei assous ;se ola ta bits upshloterhs ta3hs RRC ; alliws de3ia olis8hsh kata 1 bit JMP SUNEXEIA EMFANISH: MOV A,H ;teliko apotelesma CMA ;adistrofh STA 3000H ;emfanish sthn porta e3odou JMP START LEDS_OFF: MVI A,00H CMA STA 3000H JMP START END

ii) Στο ζήτημα αυτό καλλούμαστε να υλοποιήσουμε ένα πρόγραμμα σε assembly 8085 το οποίο να αναμένει το πάτημα από το 16δικό πληκτρολόγο των αριθμών 1-8 και κάθε φορά να ανάβει το LED της αντίστοιχης θέσης (1 LSB, 8 MSB ). Να γίνει χρήση της ρουτίνας ΚΙND. Το πρόγραμμα να είναι συνεχούς λειτουργίας. Παρακάτω φαίνεται ο κώδικάς μας: IN 10H START: CALL KIND CPI 01H ;1 JZ LED1 CPI 02H ;2 JZ LED2 ;3 JZ LED3 CPI 04H ;4 JZ LED4 ;5 JZ LED5 ;6 JZ LED6 CPI 07H ;7 JZ LED7 CPI 08H ;8 JZ LED8 ALLIWS_OFF: MVI A,00H JMP LEDS_ON ;an den path8ei tipota LED1: ;0000 0001 JMP LEDS_ON LED2: ;0000 0010 JMP LEDS_ON LED3: MVI A,04H ;0000 0100 JMP LEDS_ON LED4: MVI A,08H ;0000 1000 JMP LEDS_ON LED5: MVI A,10H ;0001 0000 JMP LEDS_ON LED6: MVI A,20H ;0010 0000 JMP LEDS_ON LED7: MVI A,40H ;0100 0000 JMP LEDS_ON LED8: MVI A,80H ;1000 0000 LEDS_ON: CMA STA 3000H JMP START ;adistrofh ;emfanish sthn porta e3odou ;gia sunexh leitourgia

END iii) Στο πρόβλημα αυτό καλλούμαστε να υλοποιήσουμε ένα πρόγραμμα, σε assembly 8085, το οποίο να κάνει απευθείας ανάγνωση του πληκτρολογίου, χωρίς την χρήση της ρουτίνας KIND. To αποτέλεσμα του κωδικού να εμφανίζεται στα δύο αριστερότερα 7- segment της οθόνης με βάση τις ρουτίνες DCD και STDM. IN 10H START: MVI A,10H ;vazoume to keno stis 4 de3ioteres 8eseis STA 0B00H STA 0B01H STA 0B02H STA 0B03H LOOPA: LXI D,0B00H ;Anagnwsh grammhs kai sthlhs apo plhktrologio READ_1ST_LINE: MVI A,FBH ;1111 1011 READ_1ST_COLUMN: JZ ZERO ;0 JZ STORE_INCR JZ DECR ;DECR READ_2ND_LINE: MVI A,F7H ;1111 0111 READ_2ND_COLUMN: JZ ONE ;1 JZ TWO ;2 JZ THREE ;3 READ_3RD_LINE: MVI A,EFH ;1110 1111 READ_3RD_COLUMN: ;STORE/INCR

JZ FOUR ;4 JZ FIVE ;5 JZ SIX ;6 READ_4TH_LINE: MVI A,DFH ;1101 1111 READ_4TH_COLUMN: JZ SEVEN ;7 JZ EIGHT ;8 JZ NINE ;9 READ_5TH_LINE: MVI A,BFH ;1011 1111 READ_5TH_COLUMN: JZ L_A ;A JZ L_B ;B JZ L_C ;C READ_6TH_LINE: MVI A,7FH ;0111 1111 READ_6TH_COLUMN: JZ L_D ;D JZ L_E ;E JZ L_F ;F READ_7TH_LINE: MVI A,FEH ;1111 1110 READ_7TH_COLUMN: JZ INSTR_STEP ;INSTR_STEP

JZ FETCH_PC ;FETCH_PC READ_8TH_LINE: MVI A,FDH ;1111 1101 READ_8TH_COLUMN: JZ RUN_ ;RUN JZ FETCH_REG JZ FETCH_ADRS ;FETCH_REG ;FETCH_ADRS JMP START STORE_INCR: MVI A,83H DECR: MVI A,81H ZERO: MVI A,00H ONE: TWO: THREE: MVI A,03H FOUR: MVI A,04H FIVE: MVI A,05H SIX: MVI A,06H SEVEN: MVI A,07H EIGHT: MVI A,08H NINE: MVI A,09H L_A: MVI A,0AH

L_B: L_C: L_D: MVI A,0BH MVI A,0CH MVI A,0DH L_E: MVI A,0EH L_F: MVI A,0FH INSTR_STEP: MVI A,86H FETCH_PC: MVI A,85H RUN_: MVI A,84H FETCH_REG: MVI A,80H FETCH_ADRS: MVI A,82H DISPLAY: MOV B,A ;save A (xxxxyyyy) RRC ;4 olis8hseis wste na paroume ta MSB RRC RRC RRC ;(yyyyxxxx) ANI 0FH ; 0F=00001111 apomonwsh STA 0B05H ;emfanish 1ou pshfiou MOV A,B ANI 0FH STA 0B04H ;emfanish 2ou pshfiou CALL STDM ;emfanish xarakthrwn sthn o8onh CALL DCD ;diavasma pshfiwn apo th mnhmh ;metatroph dedomenwn ston kwdiko gia ap eu8eias e3odo apo o8onh ;freskarisma o8onhs JMP LOOPA END

iv) Στο πρόβλημα αυτό μας ζητείται απ' ευθείας ανάγνωση του πληκτρολογίου και εμφάνιση των ψηφίων στην 7-segment display (δηλαδή χωρίς χρήση των ρουτινών ΚΙΝD, DCD και STDM). IN 10H START: READ_1ST_LINE: MVI A,FBH ;1111 1011 READ_1ST_COLUMN: JZ ZERO ;0 JZ STORE_INCR JZ DECR ;DECR ;STORE/INCR READ_2ND_LINE: MVI A,F7H ;1111 0111 READ_2ND_COLUMN: JZ ONE ;1 JZ TWO ;2 JZ THREE ;3 READ_3RD_LINE: MVI A,EFH ;1110 1111 READ_3RD_COLUMN: JZ FOUR ;4 JZ FIVE ;5 JZ SIX ;6 READ_4TH_LINE: MVI A,DFH ;1101 1111 READ_4TH_COLUMN: JZ SEVEN ;7 JZ EIGHT ;8

JZ NINE ;9 READ_5TH_LINE: MVI A,BFH ;1011 1111 READ_5TH_COLUMN: JZ L_A ;A JZ L_B ;B JZ L_C ;C READ_6TH_LINE: MVI A,7FH ;1111 1111 READ_6TH_COLUMN: JZ L_D ;D JZ L_E ;E JZ L_F ;F READ_7TH_LINE: MVI A,FEH ;1111 1110 READ_7TH_COLUMN: JZ INSTR_STEP ;INSTR_STEP JZ FETCH_PC ;FETCH_PC READ_8TH_LINE: MVI A,FDH ;1111 1101 READ_8TH_COLUMN: JZ RUN_ ;RUN JZ FETCH_REG JZ FETCH_ADRS ;FETCH_REG ;FETCH_ADRS JMP START STORE_INCR: MVI A,80H

MVI A,B0H DECR: MVI A,80H MVI A,F9H ZERO: ONE: TWO: MVI A,F9H MVI A,A4H THREE: MVI A,B0H FOUR: MVI A,99H

FIVE: MVI A,92H SIX: MVI A,82H SEVEN: MVI A,F8H EIGHT: MVI A,80H NINE: MVI A,98H L_A: L_B: MVI A,88H

MVI A,83H L_C: L_D: MVI A,C6H MVI A,A1H L_E: MVI A,86H L_F: MVI A,8EH INSTR_STEP: MVI A,80H MVI A,82H FETCH_PC: MVI A,80H MVI A,92H

HRDWR_STEP: MVI A,8EH MVI A,F8H RUN_: FETCH_REG: MVI A,80H MVI A,99H MVI A,80H FETCH_ADRS: MVI A,80H MVI A,A4H KATHARISMOS_OTHONHS: MVI A,FFH JMP START END

5 η Άσκηση Α) πρόγραμμα 8085 που στέλνει δεδομένα START: MVI A,0H SIM ;ΑΡΧΙΚΟΠΟΙΗΣΗ ΣΥΣΣΩΡΕΥΤΗ, ΔΕΝ ΣΤΕΛΝΩ ΜΕΣΩ SOD MVI C,0FFH ;ΑΡΧΙΚΟΠΟΙΗΣΗ ΜΕΤΡΗΤΗ ΔΕΔΟΜΕΝΩΝ LOOP: MOV A,C ;ΜΕΤΑΦΕΡΩ ΤΟΝ ΜΕΤΡΗΤΗ ΔΕΔΟΜΕΝΩΝ ΣΤΟΝ Α CPI 0H ; JM END ;ΟΤΑΝ Η ΔΙΑΦΟΡΑ Α-0 ΓΙΝΕΙ ΑΡΝΗΤΙΚΗ ΤΟΤΕ ΣΗΜΑΙΝΕΙ ΟΤΙ ΔΕΝ ΕΧΩ ΑΛΛΑ ΔΕΔΟΜΕΝΑ ΓΙΑ ΑΠΟΣΤΟΛΗ ΚΑΙ ΕΤΣΙ ΤΕΡΜΑΤΙΖΕΙ ΤΟ ΠΡΟΓΡΑΜΜΑ. JMP TRANSFER ; ΔΙΑΦΟΡΕΤΙΚΑ ΣΥΝΕΧΙΖΟΥΜΕ TRANSFER: MVI A,0C0H ; A=1100 0000 SIM ; ΣΤΕΛΝΟΥΜΕ ΘΕΤΙΚΗ ΑΚΜΗ ΣΤΟ μυ-σ2 ΜΕΣΩ ΤΟΥ SOD1 CHECK: RIM ;ΔΙΑΒΑΖΟΥΜΕ ΑΠΟ ΤΗΝ ΕΙΣΟΔΟ SID1 TO MSB TOY A ANI 08H ; ΑΠΟΜΟΝΩΝΟΥΜΕ ΤΟ MSB TOY A CPI 08H ; ΣΥΓΚΡΙΝΟΥΜΕ ΤΟ Α ΜΕ ΤΟ 08Η. ΑΝ ΕΙΝΑΙ ΙΣΑ ΣΗΜΑΙΝΕΙ ΟΤΙ ΤΟ ΔΕΔΟΜΕΝΟ ΑΝΑΓΝΩΡΙΣΤΗΚΕ ΑΠΟ ΤΟ μυ-σ2 JNZ CHECK ; ΑΛΛΙΩΣ ΞΑΝΑΜΠΑΙΝΟΥΜΕ ΣΤΟ CHECK MOV A,M ; ΜΕΤΑΦΕΡΟΥΜΕ ΣΤΟΝ Α ΤΑ ΔΕΔΟΜΕΝΑ ΤΗΣ ΘΕΣΗΣ ΜΝΗΜΗΣ ΠΟΥ ΔΕΙΧΝΟΥΝ ΟΙ H-L OUT DATA1; ΚΑΙ ΤΑ ΟΔΗΓΟΥΜΕ ΣΤΗΝ ΠΟΡΤΑ ΕΞΟΔΟΥ DATA1 INX H ; ΠΡΟΧΩΡΑΜΕ ΣΤΗΝ ΕΠΟΜΕΝΗ ΘΕΣΗ ΜΝΗΜΗΣ DCR C; ΜΕΙΩΝΟΥΜΕ ΚΑΤΑ 1 ΤΟ ΜΕΤΡΗΤΗ ΠΡΟΓΡΑΜΜΑΤΟΣ JMP LOOP END:HALT

B) Πρόγραμμα 8085 που λαμβάνει δεδομένα START: MVI C, 0FFH; ΑΡΧΙΚΟΠΟΙΗΣΗ ΤΟΥ ΜΕΤΡΗΤΗ ΔΕΔΟΜΕΝΩΝ LOOP: MOV A, C; ΜΕΤΑΦΕΡΩ ΣΤΟΝ Α ΤΟ ΜΕΤΡΗΤΗ ΔΕΔΟΜΕΝΩΝ CPI OH ; ΕΛΕΓΧΕΙ ΑΝ ΕΧΟΥΜΕ ΛΑΒΕΙ ΟΛΑ ΤΑ ΔΕΔΟΜΕΝΑ JM END JMP RECEIVE; ΔΙΑΦΟΡΕΤΙΚΑ ΣΥΝΕΧΙΖΟΥΜΕ RECEIVE: MVI A,OH ; ΑΡΧΙΚΟΠΟΙΟΥΜΕ ΤΟ ΣΥΣΣΩΡΕΥΤΗ CHECK: RIM; ΔΙΑΒΑΖΕΙ ΑΠΟ ΤΟ SID2 TO MSB TOY A ANI 08H ;ΕΛΕΓΧΕΙ ΑΝ ΤΟ ΜSB TOY A ΠΟΥ ΕΛΑΒΕ ΕΙΝΑΙ 1 CPI 08H ;ΣΕ ΠΕΡΙΠΤΩΣΗ ΠΟΥ ΔΕΝ ΕΙΝΑΙ ΞΑΝΑΜΠΑΙΝΕΙ ΣΤΟ CHECK JNZ CHECK MVI A,0C0H; A=1100 00000 SIM ; ΣΤΕΛΝΩ ΜΕΣΩ ΤΟΥ SOD2 TO MSB TOY A ΓΙΑ ΤΗΝ ΕΠΙΒΕΒΑΙΩΣΗ ΤΗΣ ΑΝΑΓΝΩΡΙΣΗΣ ΤΟΥ ΔΕΔΟΜΕΝΟΥ ΙΝ DATA2; ΦΕΡΝΟΥΜΕ ΤΟ ΔΕΔΟΜΕΝΟ ΤΗΣ ΘΥΡΑΣ ΕΙΣΟΔΟΥ ΣΤΟ Α MOV M,A ; TO ΑΠΟΘΗΚΕΥΟΥΜΕ ΣΤΗ ΔΙΕΥΘΥΝΣΗ ΠΟΥ ΔΕΙΧΝΟΥΝ ΟΙ H-L ΙΝΧ Η ; ΠΡΟΧΩΡΑΜΕ ΣΤΗΝ ΕΠΟΜΕΝΗ ΘΕΣΗ ΜΝΗΜΗΣ DCR C; ΜΕΙΩΝΟΥΜΕ ΚΑΤΑ 1 ΤΟ ΜΕΤΡΗΤΗ ΔΕΔΟΜΕΝΩΝ JMP LOOP END: HLT

6 η Άσκηση 7 η Άσκηση α) Μας ζητείται να γράψουμε μια μακροεντολή SWAP Q, R που να εναλλάσει τα περιεχόμενα οποιονδήποτε καταχωρητών γενικού σκοπού Β, C, D, E, H και L. Η εκτέλεση της μακροεντολής δεν πρέπει να επηρεάζει τα περιεχόμενα των καταχωρητών που δεν μετάχουν στην εναλλαγή. Ο κώδικας της μακροεντολής αυτής δίνεται παρακάτω: SWAP MACRO Q,R PUSH Q PUSH R POP Q POP R ENDM

β) Μας ζητείται να γράψουμε μια μακροεντολή FILL ADDR L,K που να γεμίζει ένα τμήμα μνήμης με μια σταθερά. Το μέγεθος του τμήματος μπορεί να είναι μέχρι 256. Ο κώδικας της μακροεντολής αυτής δίνεται παρακάτω: FILL MACRO ADDR,L,K PUSH L PUSH H PUSH B MVI B,L LXI H,ADDR FILL_LOOP: MVI M,K INX H DCR B JNZ FILL_LOOP FILL_FINISHED: POP B POP H POP L ENDM γ) Μας ζητείται να γράψουμε μια μακροεντολή RHLL n που να περιστρέφει τα περιεχόμενα του κρατουμένου CY των καταχωρητών Η και L κατά n ψηφία αριστερά. Θεωρούμε ότι έχουμε 17- bit καταχωρητή με CY στο ΜSB. Ο κώδικας της μακροεντολής αυτής δίνεται παρακάτω: RHLL MACRO N PUSH C ROTATE_LOOP: MOV A,L RAL MOV L,A MOV A,H RAL MOV H,A DCR C JNZ ROTATE_LOOP FILL_FINISHED: POP C ENDM