ΠΑΡΑΔΟΣΕΙΣ ΜΑΘΗΜΑΤΟΣ «ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ 1» ΕΣΩΤΕΡΙΚΗΑΡΧΙΤΕΚΤΟΝΙΚΗ ΚΑΙ ΛΕΙΤΟΥΡΓΙΕΣ 8085 ΟΚΤΩΒΡΙΟΣ 2005
ΧΟΝΔΡΙΚΟ ΔΙΑΓΡΑΜΜΑ 8085 CPU ΟΙ ΚΑΤΑΧΩΡΗΤΕΣ ΤΟΥ 8085 Ο ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΗΣ ΕΝΤΟΛΩΝ Η ΑΡΙΘΜΗΤΙΚΗ ΚΑΙ ΛΟΓΙΚΗ ΜΟΝΑΔΑ ΟΙ «ΣΗΜΑΙΕΣ» FLAGS Η ΜΟΝΑΔΑ ΧΡΟΝΙΣΜΟΥ ΚΑΙ ΕΛΕΓΧΟΥ TO ΥΠΟΣΥΣΤΗΜΑ ΔΙΑΚΟΠΩΝ ΣΕΙΡΙΑΚΗ ΕΙΣΟΔΟΣ / ΕΞΟΔΟΣ
ΧΟΝΔΡΙΚΟ ΔΙΑΓΡΑΜΜΑ ΧΟΝΔΡΙΚΟ ΔΙΑΓΡΑΜΜΑ (BLOCK DIAGRAM) 8085 CPU
ΛΕΠΤΟΜΕΡΕΣ ΔΙΑΓΡΑΜΜΑ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ 8085 ΛΕΠΤΟΜΕΡΕΣ ΔΙΑΓΡΑΜΜΑ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ 8085
ΚΑΤΑΧΩΡΗΤΕΣ (REGISTERS)
ΚΑΤΑΧΩΡΗΤΕΣ (REGISTERS) 8085 ΚΑΤΑΧΩΡΗΤΕΣ (REGISTERS) 8085
Ο ΣΥΣΣΩΡΕΥΤΗΣ Ο ΣΥΣΣΩΡΕΥΤΗΣ ( ACCUMULATOR - A )
ORG2000H;διεύθυνση της πρώτης εντολής (ψευδοεντολή) START:;δήλωση αρχής εντολών προγράμματος (ψευδοεντολή) LXI H,2030H;ορισμός του M (HL) ως δείκτης στην 2030H MVI A,0F1H;μεταφορά του F1H στον καταχωρητή Α MOV M,A;μεταφορά του Α στην θέση μνήμης που δείχνει ο H και L LXI H,2031H;ορισμός του M (HL) ως δείκτης στην 2031H MVI A,0A2H;μεταφορά του A2H στον καταχωρητή Α MOV M, A;μεταφορά του Α στην θέση μνήμης που δείχνει ο H και L ADI 00H;μηδενισμός του flag carry LDA 2030H;μεταφορά στον Α του περιεχομένου θέσης μνήμης 2030H MVI B,84H;μεταφορά του 84H στον καταχωρητή B ADD B;A = A + B STA 2040H;αποθήκευση του A (αποτελέσματος) στην θέση μνήμης 2040H LDA 2031H;μεταφορά στον Α του περιεχομένου θέσης μνήμης 2031H MVI B,12H;μεταφορά του 12H στον καταχωρητή B ADC B;A = A + B + C STA 2041H;αποθήκευση του A (αποτελέσματος) στην θέση μνήμης 2041H END;δήλωση τέλους εντολών προγράμματος (ψευδοεντολή) Η ΧΡΗΣΗ ΤΟΥ ΚΑΤΑΧΩΡΗΤΗ Α ΣΕ ΠΡΟΓΡΑΜΜΑ Η ΧΡΗΣΗ ΤΟΥ ΚΑΤΑΧΩΡΗΤΗ Α ΣΕ ΠΡΟΓΡΑΜΜΑ
ORG2000H;διεύθυνση της πρώτης εντολής (ψευδοεντολή) START:;δήλωση αρχής εντολών προγράμματος (ψευδοεντολή) LXI H,2030H;ορισμός του M (HL) ως δείκτης στην 2030H MVI A,0F1H;μεταφορά του F1H στον καταχωρητή Α MOV M,A;μεταφορά του Α στην θέση μνήμης που δείχνει ο H και L LXI H,2031H;ορισμός του M (HL) ως δείκτης στην 2031H MVI A,0A2H;μεταφορά του A2H στον καταχωρητή Α MOV M, A;μεταφορά του Α στην θέση μνήμης που δείχνει ο H και L ADI 00H;μηδενισμός του flag carry LDA 2030H;μεταφορά στον Α του περιεχομένου θέσης μνήμης 2030H MVI B,84H;μεταφορά του 84H στον καταχωρητή B ADD B;A = A + B STA 2040H;αποθήκευση του A (αποτελέσματος) στην θέση μνήμης 2040H LDA 2031H;μεταφορά στον Α του περιεχομένου θέσης μνήμης 2031H MVI B,12H;μεταφορά του 12H στον καταχωρητή B ADC B;A = A + B + C STA 2041H;αποθήκευση του A (αποτελέσματος) στην θέση μνήμης 2041H END;δήλωση τέλους εντολών προγράμματος (ψευδοεντολή) Η ΧΡΗΣΗ ΤΟΥ ΚΑΤΑΧΩΡΗΤΗ “TEMP. REG.” Η ΧΡΗΣΗ ΤΟΥ ΚΑΤΑΧΩΡΗΤΗ “TEMP. REG.”
Ο ΚΑΤΑΧΩΡΗΤΗΣ ΣΗΜΑΙΩΝ Ο ΚΑΤΑΧΩΡΗΤΗΣ ΣΗΜΑΙΩΝ ( FLAG REGISTER) & ΟΙ “ΣΗΜΑΙΕΣ” (FLAGS)
ORG2000H;διεύθυνση της πρώτης εντολής (ψευδοεντολή) START:;δήλωση αρχής εντολών προγράμματος (ψευδοεντολή) LXI H,2030H;ορισμός του M (HL) ως δείκτης στην 2030H MVI A,0F1H;μεταφορά του F1H στον καταχωρητή Α MOV M,A;μεταφορά του Α στην θέση μνήμης που δείχνει ο H και L LXI H,2031H;ορισμός του M (HL) ως δείκτης στην 2031H MVI A,0A2H;μεταφορά του A2H στον καταχωρητή Α MOV M, A;μεταφορά του Α στην θέση μνήμης που δείχνει ο H και L ADI 00H;μηδενισμός του flag carry LDA 2030H;μεταφορά στον Α του περιεχομένου θέσης μνήμης 2030H MVI B,84H;μεταφορά του 84H στον καταχωρητή B ADD B;A = A + B STA 2040H;αποθήκευση του A (αποτελέσματος) στην θέση μνήμης 2040H LDA 2031H;μεταφορά στον Α του περιεχομένου θέσης μνήμης 2031H MVI B,12H;μεταφορά του 12H στον καταχωρητή B ADC B;A = A + B + C STA 2041H;αποθήκευση του A (αποτελέσματος) στην θέση μνήμης 2041H END;δήλωση τέλους εντολών προγράμματος (ψευδοεντολή) Ο ΜΗΔΕΝΙΣΜΟΣ ΤΟΥ “CY (D0)” ΣΤΟΝ ΚΑΤΑΧΩΡΗΤΗ “FLAG REG.” Ο ΜΗΔΕΝΙΣΜΟΣ ΤΟΥ “CY (D0)” ΣΤΟΝ ΚΑΤΑΧΩΡΗΤΗ “FLAG REG.” Η ΧΡΗΣΗ ΤΟΥ “CY (D0)” ΣΤΗΝ ΠΡΟΣΘΕΣΗ Η ΧΡΗΣΗ ΤΟΥ “CY (D0)” ΣΤΗΝ ΠΡΟΣΘΕΣΗ
ΆΛΛΕΣ ΕΝΤΟΛΕΣ ΠΟΥ ΑΦΟΡΟΥΝ ΤΙΣ ΣΗΜΑΙΕΣ ΆΛΛΕΣ ΕΝΤΟΛΕΣ ΠΟΥ ΑΦΟΡΟΥΝ ΤΙΣ ΣΗΜΑΙΕΣ CMC: complement carry (αντέστρεψε το κρατούμενο) STC: set carry (θεσε το κρατούμενο) CY = 1 JC : jump on carry CY=1 (διακλάδωσε αν το κρατούμενο είναι 1) JNC: jump on carry CY=0 (διακλάδωσε αν το κρατούμενο είναι 0) JZ : jump on zero Z=1 (διακλάδωσε αν συνέβη μηδενισμός ή ισότητα) JNZ : jump on zero Z=0 (διακλάδωσε αν ΔΕΝ συνέβη μηδενισμός ή ισότητα) ……………………………………. …………………………………….
ΑΛΛΟΙ ΑΛΛΟΙ ΒΟΗΘΗΤΙΚΟΙ ΚΑΤΑΧΩΡΗΤΕΣ (B-C D-E H-L)
Ο ΔΕΙΚΤΗΣ ΣΩΡΟΥ ( STACK POINTER – SP )
Ο ΑΠΑΡΙΘΜΗΤΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ (PROGRAM COUNTER – PC)
(PC = Διεύθυνση Μνήμης) (Εντολές προγράμματος) (2000) MVI A, FFH (2002) STA 2023H (2005) LDA 2020H ……..……………… ……..………………
ΚΑΤΑΧΩΡΗΤΗΣ & ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΗΣΕΝΤΟΛΩΝINSTRUCTION REGISTER & DECODER
ΛΕΙΤΟΥΡΓΕΙ ΣΤΟΝ ΚΜ (T4) «ΑΝΑΚΛΗΣΗ ΕΝΤΟΛΗΣ» ΛΕΙΤΟΥΡΓΕΙ ΣΤΟΝ ΚΜ (T4) «ΑΝΑΚΛΗΣΗ ΕΝΤΟΛΗΣ»
ΑΡΙΘΜΗΤΙΚΗΚΑΙ ΛΟΓΙΚΗ ΜΟΝΑΔΑ (ΑΛΜ) ARITHMETIC LOGIC UNIT (ALU)
ORG2000H;διεύθυνση της πρώτης εντολής (ψευδοεντολή) START:;δήλωση αρχής εντολών προγράμματος (ψευδοεντολή) LXI H,2030H;ορισμός του M (HL) ως δείκτης στην 2030H MVI A,0F1H;μεταφορά του F1H στον καταχωρητή Α MOV M,A;μεταφορά του Α στην θέση μνήμης που δείχνει ο H και L LXI H,2031H;ορισμός του M (HL) ως δείκτης στην 2031H MVI A,0A2H;μεταφορά του A2H στον καταχωρητή Α MOV M, A;μεταφορά του Α στην θέση μνήμης που δείχνει ο H και L ADI 00H;μηδενισμός του flag carry LDA 2030H;μεταφορά στον Α του περιεχομένου θέσης μνήμης 2030H MVI B,84H;μεταφορά του 84H στον καταχωρητή B ADD B;A = A + B STA 2040H;αποθήκευση του A (αποτελέσματος) στην θέση μνήμης 2040H LDA 2031H;μεταφορά στον Α του περιεχομένου θέσης μνήμης 2031H MVI B,12H;μεταφορά του 12H στον καταχωρητή B ADC B;A = A + B + C STA 2041H;αποθήκευση του A (αποτελέσματος) στην θέση μνήμης 2041H END;δήλωση τέλους εντολών προγράμματος (ψευδοεντολή) ΧΡΗΣΕΙΣ ΤΗΣ «ΑΛΜ» ΣΕ ΕΝΤΟΛΕΣ ΠΡΟΣΘΕΣΗΣ ΧΡΗΣΕΙΣ ΤΗΣ «ΑΛΜ» ΣΕ ΕΝΤΟΛΕΣ ΠΡΟΣΘΕΣΗΣ
ACI : A = A + “data” + CY ADC: A = A + R + CY ADD : A = A + R SBB: A = A - R - CY SBI : A = A – data - CY ANA: A = A AND R ANI: A = A AND “data” ORA: A = A OR R ORI: A = A OR “data” XRA: A = A XOR R XRI: A = A ΧOR “data” ΕΝΤΟΛΕΣ ΥΠΟΣΤΗΡΙΖΟΜΕΝΕΣ ΑΠΌ ΤΗΝ ΑΛΜ
ΜΟΝΑΔΑ ΧΡΟΝΙΣΜΟΥ ΚΑΙ ΕΛΕΓΧΟΥ TIMING AND CONTROL UNIT
ΑΠΟΜΟΝΩΤΕΣ ΔΙΑΥΛΩΝ ( BUFFERS )
ΥΠΟΣΥΣΤΗΜΑ ΔΙΑΚΟΠΩΝ ( INTERRUPTS )
ΣΕΙΡΙΑΚΗ ΕΙΣΟΔΟΣ - ΕΞΟΔΟΣ ( SERIAL I / O )