; PROGRAM ODLICZAJACY OD 9990 I JADACY W ZWYZ OD 0000 MOV DPTR, #400H CLR P3.3 CLR P3.4 MOV R1,#1 MOV R2,#1 MOV R3,#1 MOV R4,#1 MOV R5,#10 MOV R6,#10 MOV R7,#10 start: CJNE A,#10001001B,odliczanie setb P3.3 setb P3.4 MOV A,R1 MOVC A,@A+DPTR MOV P1, A CALL czekaj MOV P1, #111111111B clr P3.3 setb P3.4 MOV A,R2 MOVC A,@A+DPTR MOV P1, A CALL czekaj MOV P1, #111111111B setb P3.3 clr P3.4 MOV A,R3 MOVC A,@A+DPTR MOV P1, A CALL czekaj MOV P1, #111111111B clr P3.3 clr P3.4 MOV A, R4 MOVC A,@A+DPTR MOV P1, A CALL czekaj MOV P1, #111111111B INC R4 CJNE R4,#11,poczatek MOV R4,#1 INC R3 CJNE R3,#11,poczatek MOV R3,#1 INC R2 CJNE R2,#11,poczatek MOV R2,#1 INC R1 CJNE R1,#11,poczatek MOV R1,#1 INC R4 odliczanie: CJNE A,#10101010B,poczatek setb P3.3 setb P3.4 MOV A,R7 MOVC A,@A+DPTR MOV P1, A CALL czekaj MOV P1, #111111111B clr P3.3 setb P3.4 MOV A,R6 MOVC A,@A+DPTR MOV P1, A CALL czekaj MOV P1, #111111111B setb P3.3 clr P3.4 MOV A,R5 MOVC A,@A+DPTR MOV P1, A CALL czekaj MOV P1, #111111111B clr P3.3 clr P3.4 MOV A, R4 MOVC A,@A+DPTR MOV P1, A CALL czekaj MOV P1, #111111111B DEC R4 CJNE R4,#0,poczatek MOV R4,#10 DEC R5 CJNE R5,#0,poczatek MOV R5,#10 DEC R6 CJNE R6,#0,poczatek MOV R6,#10 DEC R7 CJNE R7,#0,poczatek MOV R7,#10 DEC R4 poczatek: MOV R0, #2 CLR F0 SETB P0.0 SETB P0.1 SETB P0.2 SETB P0.3 CLR P0.3 CALL colScan JB F0, finish SETB P0.3 CLR P0.2 CALL colScan JB F0, finish SETB P0.2 CLR P0.1 CALL colScan JB F0, finish SETB P0.1 CLR P0.0 CALL colScan JB F0, finish JMP start finish: MOV A,R0 MOVC A,@A+DPTR MOV P1, A JMP start colScan: JNB P0.6, gotKey INC R0 JNB P0.5, gotKey INC R0 JNB P0.4, gotKey INC R0 RET gotKey: SETB F0 RET czekaj: NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP RET ORG 400H DB 11000000B ;zero DB 11000000B ;0 DB 11111001B ;1 DB 10100100B ;2 DB 10110000B ;3 DB 10011001B ;4 DB 10010010B ;5 DB 10000010B ;6 DB 11111000B ;7 DB 10000000B ;8 DB 10010000B ;9 DB 10001001B ;GWIAZDKA DB 11000000B ;0 DB 10101010B ;HASH