3η Αναφορά Συστ Μικρο
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