3η Αναφορά Συστ Μικρο

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

Upload: andri

Post on 13-Sep-2015

221 views

Category:

Documents


2 download

TRANSCRIPT

  • /

    3 O

    03110684 03110721

  • 1 4

    i) , assembly 8085, dip-switches LED . . : IN 10H

    START:

    LDA 2000H ;diavasma twn dip-switchesMOV D,A ;save AMVI E,08H ;metrhths bits

    IF_ZERO:

    CPI 00H ;an den exei ginei kanena ONJZ LEDS_OFF

    CHECK0:RRC ;olhs8hsh mia 8esh de3iaJC LEDS_ON ;an to Carry ginei 1, dhladh LSB dip-switch ONDCR E ;meiwsh tou metrithJZ LEDS_ON ;mexri na ginei 0JMP CHECK0

    LEDS_ON:MOV A,D ;o A pairnei thn arxikh timh twn dip-switchesMOV H,A ;ston H apo8hkeuetai h arxikh timh tou AMVI A,80H ; (A)

  • ii) assembly 8085 16 1-8 LED (1 LSB , 8 MSB ). ND. . :

    IN 10H

    START:CALL KINDCPI 01H ;1JZ LED1CPI 02H ;2JZ LED2CPI 03H ;3JZ LED3CPI 04H ;4JZ LED4CPI 05H ;5JZ LED5CPI 06H ;6JZ LED6 CPI 07H ;7JZ LED7CPI 08H ;8JZ LED8

    ALLIWS_OFF: ;an den path8ei tipotaMVI A,00HJMP LEDS_ON

    LED1: MVI A,01H ;0000 0001JMP LEDS_ON

    LED2: MVI A,02H ;0000 0010JMP LEDS_ON

    LED3: MVI A,04H ;0000 0100JMP LEDS_ON

    LED4: MVI A,08H ;0000 1000JMP LEDS_ON

    LED5: MVI A,10H ;0001 0000JMP LEDS_ON

    LED6: MVI A,20H ;0010 0000JMP LEDS_ON

    LED7: MVI A,40H ;0100 0000JMP LEDS_ON

    LED8: MVI A,80H ;1000 0000

    LEDS_ON:CMA ;adistrofh STA 3000H ;emfanish sthn porta e3odouJMP START ;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

    STA 2800H

    READ_1ST_COLUMN:LDA 1800HANI 07HCPI 06HJZ ZERO ;0CPI 05HJZ STORE_INCR ;STORE/INCRCPI 03HJZ DECR ;DECR

    READ_2ND_LINE:MVI A,F7H ;1111 0111STA 2800H

    READ_2ND_COLUMN:LDA 1800HANI 07HCPI 06HJZ ONE ;1CPI 05HJZ TWO ;2CPI 03HJZ THREE ;3

    READ_3RD_LINE:MVI A,EFH ;1110 1111STA 2800H

    READ_3RD_COLUMN:LDA 1800HANI 07H

  • CPI 06HJZ FOUR ;4CPI 05HJZ FIVE ;5CPI 03HJZ SIX ;6

    READ_4TH_LINE:MVI A,DFH ;1101 1111STA 2800H

    READ_4TH_COLUMN:LDA 1800HANI 07HCPI 06HJZ SEVEN ;7CPI 05HJZ EIGHT ;8CPI 03HJZ NINE ;9

    READ_5TH_LINE:MVI A,BFH ;1011 1111STA 2800H

    READ_5TH_COLUMN:LDA 1800H ANI 07HCPI 06HJZ L_A ;ACPI 05HJZ L_B ;BCPI 03HJZ L_C ;C

    READ_6TH_LINE:MVI A,7FH ;0111 1111STA 2800H

    READ_6TH_COLUMN:LDA 1800HANI 07HCPI 06HJZ L_D ;DCPI 05HJZ L_E ;ECPI 03HJZ L_F ;F

    READ_7TH_LINE:MVI A,FEH ;1111 1110STA 2800H

    READ_7TH_COLUMN:LDA 1800HANI 07HCPI 06HJZ INSTR_STEP ;INSTR_STEP

  • CPI 05HJZ FETCH_PC ;FETCH_PC

    READ_8TH_LINE:MVI A,FDH ;1111 1101STA 2800H

    READ_8TH_COLUMN:LDA 1800HANI 07HCPI 06HJZ RUN_ ;RUNCPI 05HJZ FETCH_REG ;FETCH_REGCPI 03HJZ FETCH_ADRS ;FETCH_ADRS

    JMP START

    STORE_INCR: MVI A,83HJMP DISPLAY

    DECR: MVI A,81HJMP DISPLAY

    ZERO: MVI A,00HJMP DISPLAY

    ONE: MVI A,01HJMP DISPLAY

    TWO: MVI A,02HJMP DISPLAY

    THREE: MVI A,03H JMP DISPLAY

    FOUR: MVI A,04HJMP DISPLAY

    FIVE: MVI A,05HJMP DISPLAY

    SIX: MVI A,06HJMP DISPLAY

    SEVEN: MVI A,07H JMP DISPLAY

    EIGHT: MVI A,08H JMP DISPLAY

    NINE: MVI A,09HJMP DISPLAY

    L_A: MVI A,0AHJMP DISPLAY

  • L_B: MVI A,0BHJMP DISPLAY

    L_C: MVI A,0CHJMP DISPLAY

    L_D: MVI A,0DHJMP DISPLAY

    L_E: MVI A,0EHJMP DISPLAY

    L_F: MVI A,0FHJMP DISPLAY

    INSTR_STEP: MVI A,86HJMP DISPLAY

    FETCH_PC: MVI A,85HJMP DISPLAY

    RUN_: MVI A,84HJMP DISPLAY

    FETCH_REG: MVI A,80HJMP DISPLAY

    FETCH_ADRS: MVI A,82HJMP DISPLAY

    DISPLAY:MOV B,A ;save A (xxxxyyyy)RRC ;4 olis8hseis wste na paroume ta MSBRRCRRCRRC ;(yyyyxxxx)ANI 0FH ; 0F=00001111 apomonwsh STA 0B05H ;emfanish 1ou pshfiouMOV A,B ANI 0FH STA 0B04H ;emfanish 2ou pshfiouCALL STDM ;emfanish xarakthrwn sthn o8onhCALL DCD ;diavasma pshfiwn apo th mnhmh

    ;metatroph dedomenwn ston kwdiko gia ap eu8eias e3odo apo o8onh

    ;freskarisma o8onhsJMP LOOPA

    END

  • iv) ' 7-segment display ( D, DCD STDM).

    IN 10H

    START:

    READ_1ST_LINE:MVI A,FBH ;1111 1011STA 2800H

    READ_1ST_COLUMN:LDA 1800HANI 07HCPI 06HJZ ZERO ;0CPI 05HJZ STORE_INCR ;STORE/INCRCPI 03HJZ DECR ;DECR

    READ_2ND_LINE:MVI A,F7H ;1111 0111STA 2800H

    READ_2ND_COLUMN:LDA 1800HANI 07HCPI 06HJZ ONE ;1CPI 05HJZ TWO ;2CPI 03HJZ THREE ;3

    READ_3RD_LINE:MVI A,EFH ;1110 1111STA 2800H

    READ_3RD_COLUMN:LDA 1800HANI 07HCPI 06HJZ FOUR ;4CPI 05HJZ FIVE ;5CPI 03HJZ SIX ;6

    READ_4TH_LINE:MVI A,DFH ;1101 1111STA 2800H

    READ_4TH_COLUMN:LDA 1800HANI 07HCPI 06HJZ SEVEN ;7CPI 05HJZ EIGHT ;8CPI 03H

  • JZ NINE ;9

    READ_5TH_LINE:MVI A,BFH ;1011 1111STA 2800H

    READ_5TH_COLUMN:LDA 1800H ANI 07HCPI 06HJZ L_A ;ACPI 05HJZ L_B ;BCPI 03HJZ L_C ;C

    READ_6TH_LINE:MVI A,7FH ;1111 1111STA 2800H

    READ_6TH_COLUMN:LDA 1800HANI 07HCPI 06HJZ L_D ;DCPI 05HJZ L_E ;ECPI 03HJZ L_F ;F

    READ_7TH_LINE:MVI A,FEH ;1111 1110STA 2800H

    READ_7TH_COLUMN:LDA 1800HANI 07HCPI 06HJZ INSTR_STEP ;INSTR_STEPCPI 05HJZ FETCH_PC ;FETCH_PC

    READ_8TH_LINE:MVI A,FDH ;1111 1101STA 2800H

    READ_8TH_COLUMN:LDA 1800HANI 07HCPI 06HJZ RUN_ ;RUNCPI 05HJZ FETCH_REG ;FETCH_REGCPI 03HJZ FETCH_ADRS ;FETCH_ADRS

    JMP START

    STORE_INCR: MVI A,02HSTA 2800HMVI A,80HSTA 3800HMVI A,01HSTA 2800H

  • MVI A,B0HSTA 3800HJMP KATHARISMOS_OTHONHS

    DECR: MVI A,02HSTA 2800HMVI A,80HSTA 3800HMVI A,01HSTA 2800HMVI A,F9HSTA 3800HJMP KATHARISMOS_OTHONHS

    ZERO: MVI A,02HSTA 2800HMVI A,C0HSTA 3800HMVI A,01HSTA 2800HMVI A,C0HSTA 3800HJMP KATHARISMOS_OTHONHS

    ONE: MVI A,02HSTA 2800HMVI A,C0HSTA 3800HMVI A,01HSTA 2800HMVI A,F9HSTA 3800HJMP KATHARISMOS_OTHONHS

    TWO: MVI A,02HSTA 2800HMVI A,C0HSTA 3800HMVI A,01HSTA 2800HMVI A,A4HSTA 3800HJMP KATHARISMOS_OTHONHS

    THREE: MVI A,02HSTA 2800HMVI A,C0HSTA 3800HMVI A,01HSTA 2800HMVI A,B0HSTA 3800HJMP KATHARISMOS_OTHONHS

    FOUR: MVI A,02HSTA 2800HMVI A,C0HSTA 3800HMVI A,01HSTA 2800HMVI A,99HSTA 3800HJMP KATHARISMOS_OTHONHS

  • FIVE: MVI A,02HSTA 2800HMVI A,C0HSTA 3800HMVI A,01HSTA 2800HMVI A,92HSTA 3800HJMP KATHARISMOS_OTHONHS

    SIX: MVI A,02HSTA 2800HMVI A,C0HSTA 3800HMVI A,01HSTA 2800HMVI A,82HSTA 3800HJMP KATHARISMOS_OTHONHS

    SEVEN: MVI A,02HSTA 2800HMVI A,C0HSTA 3800HMVI A,01HSTA 2800HMVI A,F8HSTA 3800HJMP KATHARISMOS_OTHONHS

    EIGHT: MVI A,02HSTA 2800HMVI A,C0HSTA 3800HMVI A,01HSTA 2800HMVI A,80HSTA 3800HJMP KATHARISMOS_OTHONHS

    NINE: MVI A,02HSTA 2800HMVI A,C0HSTA 3800HMVI A,01HSTA 2800HMVI A,98HSTA 3800HJMP KATHARISMOS_OTHONHS

    L_A: MVI A,02HSTA 2800HMVI A,C0HSTA 3800HMVI A,01HSTA 2800HMVI A,88HSTA 3800HJMP KATHARISMOS_OTHONHS

    L_B: MVI A,02HSTA 2800HMVI A,C0HSTA 3800H

  • MVI A,01HSTA 2800HMVI A,83HSTA 3800HJMP KATHARISMOS_OTHONHS

    L_C: MVI A,02HSTA 2800HMVI A,C0HSTA 3800HMVI A,01HSTA 2800HMVI A,C6HSTA 3800HJMP KATHARISMOS_OTHONHS

    L_D: MVI A,02HSTA 2800HMVI A,C0HSTA 3800HMVI A,01HSTA 2800HMVI A,A1HSTA 3800HJMP KATHARISMOS_OTHONHS

    L_E: MVI A,02HSTA 2800HMVI A,C0HSTA 3800HMVI A,01HSTA 2800HMVI A,86HSTA 3800HJMP KATHARISMOS_OTHONHS

    L_F: MVI A,02HSTA 2800HMVI A,C0HSTA 3800HMVI A,01HSTA 2800HMVI A,8EHSTA 3800HJMP KATHARISMOS_OTHONHS

    INSTR_STEP: MVI A,02HSTA 2800HMVI A,80HSTA 3800HMVI A,01HSTA 2800HMVI A,82HSTA 3800HJMP KATHARISMOS_OTHONHS

    FETCH_PC: MVI A,02HSTA 2800HMVI A,80HSTA 3800HMVI A,01HSTA 2800HMVI A,92HSTA 3800H

  • JMP KATHARISMOS_OTHONHS

    HRDWR_STEP: MVI A,02HSTA 2800HMVI A,8EHSTA 3800HMVI A,01HSTA 2800HMVI A,F8HSTA 3800HJMP KATHARISMOS_OTHONHS

    RUN_: MVI A,02HSTA 2800HMVI A,80HSTA 3800HMVI A,01HSTA 2800HMVI A,99HSTA 3800HJMP KATHARISMOS_OTHONHS

    FETCH_REG: MVI A,02HSTA 2800HMVI A,80HSTA 3800HMVI A,01HSTA 2800HMVI A,C0HSTA 3800HJMP KATHARISMOS_OTHONHS

    FETCH_ADRS: MVI A,02HSTA 2800HMVI A,80HSTA 3800HMVI A,01HSTA 2800HMVI A,A4HSTA 3800HJMP KATHARISMOS_OTHONHS

    KATHARISMOS_OTHONHS:MVI A,FFHSTA 3800HJMP 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,RPUSH QPUSH RPOP QPOP R

    ENDM

  • ) FILL ADDR L,K . 256. :

    FILL MACRO ADDR,L,KPUSH LPUSH HPUSH BMVI B,LLXI H,ADDR

    FILL_LOOP:MVI M,KINX HDCR BJNZ FILL_LOOP

    FILL_FINISHED:POP BPOP HPOP L

    ENDM

    ) RHLL n CY L n . 17- bit CY SB. :

    RHLL MACRO NPUSH C

    ROTATE_LOOP:MOV A,LRALMOV L,AMOV A,HRALMOV H,ADCR CJNZ ROTATE_LOOP

    FILL_FINISHED:POP C

    ENDM