440 likes | 690 Views
ΠΑΡΑΔΟΣΕΙΣ ΜΑΘΗΜΑΤΟΣ «ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ 1» ΕΣΩΤΕΡΙΚΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΚΑΙ ΛΕΙΤΟΥΡΓΙΕΣ 8085. ΟΚΤΩΒΡΙΟΣ 2005. ΧΟΝΔΡΙΚΟ ΔΙΑΓΡΑΜΜΑ 8085 CPU ΟΙ ΚΑΤΑΧΩΡΗΤΕΣ ΤΟΥ 8085 Ο ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΗΣ ΕΝΤΟΛΩΝ Η ΑΡΙΘΜΗΤΙΚΗ ΚΑΙ ΛΟΓΙΚΗ ΜΟΝΑΔΑ ΟΙ «ΣΗΜΑΙΕΣ» FLAGS
E N D
ΠΑΡΑΔΟΣΕΙΣ ΜΑΘΗΜΑΤΟΣ «ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ 1» ΕΣΩΤΕΡΙΚΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΚΑΙ ΛΕΙΤΟΥΡΓΙΕΣ 8085 ΟΚΤΩΒΡΙΟΣ 2005
ΧΟΝΔΡΙΚΟ ΔΙΑΓΡΑΜΜΑ 8085 CPU • ΟΙ ΚΑΤΑΧΩΡΗΤΕΣ ΤΟΥ 8085 • Ο ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΗΣ ΕΝΤΟΛΩΝ • Η ΑΡΙΘΜΗΤΙΚΗ ΚΑΙ ΛΟΓΙΚΗ ΜΟΝΑΔΑ • ΟΙ «ΣΗΜΑΙΕΣ» FLAGS • Η ΜΟΝΑΔΑ ΧΡΟΝΙΣΜΟΥ ΚΑΙ ΕΛΕΓΧΟΥ • TO ΥΠΟΣΥΣΤΗΜΑ ΔΙΑΚΟΠΩΝ • ΣΕΙΡΙΑΚΗ ΕΙΣΟΔΟΣ / ΕΞΟΔΟΣ
ΧΟΝΔΡΙΚΟ ΔΙΑΓΡΑΜΜΑ (BLOCK DIAGRAM) 8085CPU
ΛΕΠΤΟΜΕΡΕΣ ΔΙΑΓΡΑΜΜΑ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ 8085
ΚΑΤΑΧΩΡΗΤΕΣ (REGISTERS)
Ο ΣΥΣΣΩΡΕΥΤΗΣ ( ACCUMULATOR - A )
Η ΧΡΗΣΗ ΤΟΥ ΚΑΤΑΧΩΡΗΤΗ Α ΣΕ ΠΡΟΓΡΑΜΜΑ ORG 2000H ;διεύθυνση της πρώτης εντολής (ψευδοεντολή) 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.” ORG 2000H ;διεύθυνση της πρώτης εντολής (ψευδοεντολή) 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 ;δήλωση τέλους εντολών προγράμματος (ψευδοεντολή)
Ο ΚΑΤΑΧΩΡΗΤΗΣ ΣΗΜΑΙΩΝ ( FLAG REGISTER) & ΟΙ “ΣΗΜΑΙΕΣ”(FLAGS)
ORG 2000H ;διεύθυνση της πρώτης εντολής (ψευδοεντολή) 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)” ΣΤΗΝ ΠΡΟΣΘΕΣΗ
ΆΛΛΕΣ ΕΝΤΟΛΕΣ ΠΟΥ ΑΦΟΡΟΥΝ ΤΙΣ ΣΗΜΑΙΕΣ 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) «ΑΝΑΚΛΗΣΗ ΕΝΤΟΛΗΣ»
ΑΡΙΘΜΗΤΙΚΗ ΚΑΙ ΛΟΓΙΚΗ ΜΟΝΑΔΑ (ΑΛΜ) ARITHMETIC LOGIC UNIT (ALU)
ΧΡΗΣΕΙΣ ΤΗΣ «ΑΛΜ» ΣΕ ΕΝΤΟΛΕΣ ΠΡΟΣΘΕΣΗΣ ORG 2000H ;διεύθυνση της πρώτης εντολής (ψευδοεντολή) 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 )