$mod52 ; ***LCD CONTROL*** LCD_RS EQU P2.7 ;LCD REGISTER SELECT LINE LCD_E EQU P2.6 ;LCD ENABLE LINE LCD_DB4 EQU P2.5 ;PORT 1 IS USED FOR DATA LCD_DB5 EQU P2.4 ;USED FOR DATA LCD_DB6 EQU P2.3 ;FOR DATA LCD_DB7 EQU P2.2 ;FOR DATA ; ***CURSOR CONTROL INSTRUCTIONS*** OFFCUR EQU 0CH BLINKCUR EQU 0DH ; ***DISPLAY CONTROL INSTRUCTIONS*** CLRDSP EQU 01H ONDSP EQU 0CH ; ***SYSTEM INSTRUCTIONS*** CONFIG EQU 28H ; 4-BIT DATA,2 LINES,5X7 MATRIX LCD ENTRYMODE EQU 6 ; INCREMENT CURSOR DON'T SHIFT DISPLAY RB0 EQU 000H ; Select Register Bank 0 RB1 EQU 008H ; Select Register Bank 1 ...poke to PSW to use ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ; PORT DECLERATION ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% INPUTS1 EQU P0 INP1 EQU P0.0 INP2 EQU P0.1 INP3 EQU P0.2 INP4 EQU P0.3 INP5 EQU P0.4 INP6 EQU P0.5 INP7 EQU P0.6 INP8 EQU P0.7 INPUTS2 EQU P1 INP9 EQU P1.0 INP10 EQU P1.1 INP11 EQU P1.2 INP12 EQU P1.3 INP13 EQU P1.4 INP14 EQU P1.5 INP15 EQU P1.6 INP16 EQU P1.7 KEYS EQU P3 ROW1 EQU P3.1 ROW2 EQU P3.2 ROW3 EQU P3.3 ROW4 EQU P3.4 COL1 EQU P3.5 COL2 EQU P3.6 COL3 EQU P3.7 RELAY1 EQU P1.6 RELAY2 EQU P1.7 RELAY3 EQU P3.0 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DSEG ; This is internal data memory ORG 20H ; Bit adressable memory GATEES: DS 1 ;Temp register to store the results of the gates GATE1 BIT GATEES.0 GATE2 BIT GATEES.1 GATE3 BIT GATEES.2 GATE4 BIT GATEES.3 GATE5 BIT GATEES.4 GATE6 BIT GATEES.5 CHIP BIT GATEES.7 STARTSS: DS 1 NUMB BIT STARTSS.0 RESS BIT STARTSS.1 KEY: DS 1 NUMBER: DS 1 ;temp to store dialled number COUNT: DS 1 ;Count for pressed keys NUMB1: DS 1 ;Temp Reg to store pressed Keys NUMB2: DS 1 ;Temp Reg to store pressed Keys NUMB3: DS 1 ;Temp Reg to store pressed Keys NUMB4: DS 1 ;Temp Reg to store pressed Keys NUMB5: DS 1 ;Temp Reg to store pressed Keys RELAYS: DS 1 ;power supply relays status GATES: DS 1 ;Number of Gates in a Chip CSEG ; Code begins here ;---------==========----------==========---------=========--------- ; PROCESSOR INTERRUPT AND RESET VECTORS ;---------==========----------==========---------=========--------- ORG 00H ; Reset JMP MAIN ;---------==========----------==========---------=========--------- ;---------==========----------==========---------=========--------- ; Main routine. Program execution starts here. ;---------==========----------==========---------=========--------- MAIN: CALL RESETLCD4 CALL INITLCD4 CALL TITLE CLR RESS CLR NUMB ;Bit for checking wheather 7 is pressed first MOV GATEES,#0FFH ;Gates Status Bits (Assume all Gates are OK) MOV COUNT,#00H ;Count for pressed keys MOV NUMB1,#0FFH ;Reset the datas for ket pressed MOV NUMB2,#0FFH MOV NUMB3,#0FFH MOV NUMB4,#0FFH MOV NUMB5,#0FFH MOV RELAYS,#00H ;Clear Relays during startup CLR RELAY1 CLR RELAY2 CLR RELAY3 MOV NUMBER,#0FFH KEYBOARD: MOV KEY,#00H SETB COL1 SETB COL2 SETB COL3 K11: CLR ROW1 CLR ROW2 CLR ROW3 CLR ROW4 MOV A,KEYS ANL A,#11100000B CJNE A,#11100000B,K11 ;check till all keys released K2: ACALL DEALAY ;call 20 msec delay MOV A,KEYS ;see if any key is pressed ANL A,#11100000B ;mask unused bits CJNE A,#11100000B,OVER ;key pressed, await closure SJMP K2 OVER: ACALL DEALAY MOV A,KEYS ANL A,#11100000B CJNE A,#11100000B,OVER1 SJMP K2 OVER1: MOV A,KEYS ORL A,#11111110B MOV KEYS,A CLR ROW1 MOV A,KEYS ANL A,#11100000B CJNE A,#11100000B,ROW_1 MOV A,KEYS ORL A,#11111110B MOV KEYS,A CLR ROW2 MOV A,KEYS ANL A,#11100000B CJNE A,#11100000B,ROW_2 MOV A,KEYS ORL A,#11111110B MOV KEYS,A CLR ROW3 MOV A,KEYS ANL A,#11100000B CJNE A,#11100000B,ROW_3 MOV A,KEYS ORL A,#11111110B MOV KEYS,A CLR ROW4 MOV A,KEYS ANL A,#11100000B CJNE A,#11100000B,ROW_4 LJMP K2 ROW_1: RLC A JC MAT1 MOV KEY,#01H AJMP K1 MAT1: RLC A JC MAT2 MOV KEY,#02H AJMP K1 MAT2: RLC A JC K1 MOV KEY,#03H AJMP K1 ROW_2: RLC A JC MAT3 MOV KEY,#04H AJMP K1 MAT3: RLC A JC MAT4 MOV KEY,#05H AJMP K1 MAT4: RLC A JC K1 MOV KEY,#06H AJMP K1 ROW_3: RLC A JC MAT5 MOV KEY,#07H AJMP K1 MAT5: RLC A JC MAT6 MOV KEY,#08H AJMP K1 MAT6: RLC A JC K1 MOV KEY,#09H AJMP K1 ROW_4: RLC A JC MAT7 MOV KEY,#10H AJMP K1 MAT7: RLC A JC MAT8 MOV KEY,#00H ;for 0 AJMP K1 MAT8: RLC A JC K1 MOV KEY,#12H K1: INC COUNT MOV A,KEY CJNE A,#01H,NXT2 MOV R4,#31H CALL WRLCDDATA ; It was data, write it to Lcd AJMP K22 NXT2: CJNE A,#02H,NXT3 MOV R4,#32H CALL WRLCDDATA ; It was data, write it to Lcd AJMP K22 NXT3: CJNE A,#03H,NXT4 MOV R4,#33H CALL WRLCDDATA ; It was data, write it to Lcd AJMP K22 NXT4: CJNE A,#04H,NXT5 MOV R4,#34H CALL WRLCDDATA ; It was data, write it to Lcd AJMP K22 NXT5: CJNE A,#05H,NXT6 MOV R4,#35H CALL WRLCDDATA ; It was data, write it to Lcd AJMP K22 NXT6: CJNE A,#06H,NXT7 MOV R4,#36H CALL WRLCDDATA ; It was data, write it to Lcd AJMP K22 NXT7: CJNE A,#07H,NXT8 JB RESS,DAFD1 CALL IC_TITLE SETB RESS DAFD1: MOV R4,#37H CALL WRLCDDATA ; It was data, write it to Lcd JB NUMB,GFG1 SETB NUMB GFG1: AJMP K22 NXT8: CJNE A,#08H,NXT9 MOV R4,#38H CALL WRLCDDATA ; It was data, write it to Lcd AJMP K22 NXT9: CJNE A,#09H,NXT10 MOV R4,#39H CALL WRLCDDATA AJMP K22 NXT10: CJNE A,#10H,NXT11 ;Button for * MOV RELAYS,#00H ;Clear Relays during startup CLR RELAY1 CLR RELAY2 CLR RELAY3 CALL IC_TITLE CLR NUMB MOV COUNT,#00H AJMP KEYBOARD NXT11: CJNE A,#00H,NXT12 MOV R4,#30H CALL WRLCDDATA ; It was data, write it to Lcd AJMP K22 NXT12: CJNE A,#12H,K22 ;Button for Search MOV A,COUNT CJNE A,#01H,KJK1 CALL WARNING1 ;Display Enter the Ic Number CALL DELAY CALL IC_TITLE MOV COUNT,#00H JMP KEYBOARD KJK1: MOV COUNT,#00H CALL SEARCH MOV NUMB1,#0FFH ;Reset the datas for ket pressed MOV NUMB2,#0FFH MOV NUMB3,#0FFH MOV NUMB4,#0FFH MOV NUMB5,#0FFH CLR NUMB MOV RELAYS,#00H ;Clear Relays during startup CLR RELAY1 CLR RELAY2 CLR RELAY3 JMP KEYBOARD K22: JB NUMB,DFFD1 CALL WARNING CALL DELAY CALL IC_TITLE MOV COUNT,#00H JMP KEYBOARD DFFD1: MOV R0,COUNT CJNE R0,#01H,VBV1 MOV NUMB1,KEY JMP KEYBOARD VBV1: CJNE R0,#02H,VBV2 MOV NUMB2,KEY JMP KEYBOARD VBV2: CJNE R0,#03H,VBV3 MOV NUMB3,KEY JMP KEYBOARD VBV3: CJNE R0,#04H,VBV4 MOV NUMB4,KEY JMP KEYBOARD VBV4: CJNE R0,#05H,VBV5 MOV NUMB5,KEY JMP KEYBOARD VBV5: MOV COUNT,#00H CALL OVERFLOW CALL DELAY CALL IC_TITLE CLR NUMB JMP KEYBOARD ;(((((((((((((((((((((((((((((((( DEALAY: MOV R1,#50 REPP2: NOP DJNZ R1,REPP2 RET ;(((((((((((((((((((((((((((((((( SEARCH: MOV R1,NUMB2 CJNE R1,#04H,DIGIT MOV R1,NUMB5 CJNE R1,#0FFH,DIG1 MOV R1,NUMB4 MOV A,NUMB3 SWAP A ORL A,R1 CALL DATABASE_SEARCH ;Database search for 7400 to 7499 RET DIGIT: CALL WARNING CALL DELAY CALL IC_TITLE RET DIG1: MOV R1,NUMB3 CJNE R1,#01H,DIG2 MOV R1,NUMB5 MOV A,NUMB4 SWAP A ORL A,R1 CALL DATABASE_SEARCH1 ;Database search for 74100 to 74199 RET DIG2: MOV R1,NUMB3 CJNE R1,#02H,DIG3 MOV R1,NUMB5 MOV A,NUMB4 SWAP A ORL A,R1 CALL DATABASE_SEARCH2 ;Database search for 74200 to 74299 RET DIG3: MOV R1,NUMB3 CJNE R1,#03H,DIG4 MOV R1,NUMB5 MOV A,NUMB4 SWAP A ORL A,R1 ; CALL DATABASE_SEARCH3 ;Database search for 74300 to 74399 RET DIG4: MOV R1,NUMB3 CJNE R1,#04H,DIG5 MOV R1,NUMB5 MOV A,NUMB4 SWAP A ORL A,R1 CALL DATABASE_SEARCH4 ;Database search for 74400 to 74499 RET DIG5: MOV R1,NUMB3 CJNE R1,#05H,DIG6 MOV R1,NUMB5 MOV A,NUMB4 SWAP A ORL A,R1 CALL DATABASE_SEARCH5 ;Database search for 74500 to 74599 RET DIG6: MOV R1,NUMB3 CJNE R1,#06H,DIG7 MOV R1,NUMB5 MOV A,NUMB4 SWAP A ORL A,R1 CALL DATABASE_SEARCH6 ;Database search for 74600 to 74699 RET DIG7: CALL NOTIN_DATABASE ;Display not in Database CALL DELAY CALL IC_TITLE RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ DATABASE_SEARCH: ;Database search for 7400 to 7499 MOV R1,A CJNE R1,#00H,ICS0 ;IC 7400 CALL ICNM00 ICX0: MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC7400_1_3_24_26 ;Call for Database MOV GATES,#04H ;Number of Gates CALL ANALYSE RET ICS0: CJNE R1,#01H,ICS1 ;IC 7401 CALL ICNM01 AJMP ICX0 ICS1: CJNE R1,#02H,ICS2 ;IC 7402 CALL ICNM02 ASD2: MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC7402_28 MOV GATES,#04H CALL ANALYSE RET ICS2: CJNE R1,#03H,ICS3 ;IC 7403 CALL ICNM03 AJMP ICX0 ICS3: CJNE R1,#04H,ICS4 ;IC 7404 CALL ICNM04 ICX1: MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC7404_5_6_14_16_19 MOV GATES,#06H CALL ANALYSE RET ICS4: CJNE R1,#05H,ICS5 ;IC 7405 CALL ICNM05 AJMP ICX1 ICS5: CJNE R1,#06H,ICS6 ;IC 7406 CALL ICNM06 AJMP ICX1 ICS6: CJNE R1,#07H,ICS7 ;IC 7407 CALL ICNM07 ASD1: MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC7407_17_34_35 MOV GATES,#06H CALL ANALYSE RET ICS7: CJNE R1,#08H,ICS8 ;IC 7408 CALL ICNM08 ICX2: MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC7408_9_126_130_426 MOV GATES,#04H CALL ANALYSE RET ICS8: CJNE R1,#09H,ICS9 ;IC 7409 CALL ICNM09 AJMP ICX2 ICS9: CJNE R1,#10H,ICS10 ;IC 7410 CALL ICNM10 ICX3: MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC7410_12 MOV GATES,#03H CALL ANALYSE RET ICS10: CJNE R1,#11H,ICS11 ;IC 7411 CALL ICNM11 ICX4: MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC7411_15 MOV GATES,#03H CALL ANALYSE RET ICS11: CJNE R1,#12H,ICS12 ;IC 7412 CALL ICNM12 AJMP ICX3 ICS12: CJNE R1,#13H,ICS13 ;IC 7413 CALL ICNM13 ICX5: MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC7413_18_20_22_40_140 MOV GATES,#02H CALL ANALYSE RET ICS13: CJNE R1,#14H,ICS14 ;IC 7414 CALL ICNM14 AJMP ICX1 ICS14: CJNE R1,#15H,ICS15 ;IC 7415 CALL ICNM15 AJMP ICX4 ICS15: CJNE R1,#16H,ICS16 ;IC 7416 CALL ICNM16 AJMP ICX1 ICS16: CJNE R1,#17H,ICS17 ;IC 7417 CALL ICNM17 AJMP ASD1 ICS17: CJNE R1,#18H,ICS18 ;IC 7418 CALL ICNM18 AJMP ICX5 ICS18: CJNE R1,#19H,ICS19 ;IC 7419 CALL ICNM19 AJMP ICX1 ICS19: CJNE R1,#20H,ICS20 ;IC 7420 CALL ICNM20 AJMP ICX5 ICS20: CJNE R1,#21H,ICS21 ;IC 7421 CALL ICNM21 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC7421 MOV GATES,#02H CALL ANALYSE RET ICS21: CJNE R1,#22H,ICS23 ;IC 7422 CALL ICNM22 AJMP ICX5 ICS23: CJNE R1,#24H,ICS24 ;IC 7424 CALL ICNM24 AJMP ICX0 ICS24: CJNE R1,#25H,ICS25 ;IC 7425 CALL ICNM25 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC7425 MOV GATES,#02H CALL ANALYSE RET ICS25: CJNE R1,#26H,ICS26 ;IC 7426 CALL ICNM26 AJMP ICX0 ICS26: CJNE R1,#27H,ICS27 ;IC 7427 CALL ICNM27 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC7427 MOV GATES,#03H CALL ANALYSE RET ICS27: CJNE R1,#28H,ICS28 ;IC 7428 CALL ICNM28 AJMP ASD2 ICS28: CJNE R1,#30H,ICS30 ;IC 7430 CALL ICNM30 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC7430 MOV GATES,#01H CALL ANALYSE RET ICS30: CJNE R1,#32H,ICS32 ;IC 7432 CALL ICNM32 ASD5: MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC7432_125_425 MOV GATES,#04H CALL ANALYSE RET ICS32: CJNE R1,#33H,ICS33 ;IC 7433 CALL ICNM33 AJMP ASD2 ICS33: CJNE R1,#34H,ICS34 ;IC 7434 CALL ICNM34 AJMP ASD1 ICS34: CJNE R1,#35H,ICS35 ;IC 7435 CALL ICNM35 AJMP ASD1 ICS35: CJNE R1,#36H,ICS36 ;IC 7436 CALL ICNM36 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC7436 MOV GATES,#04H CALL ANALYSE RET ICS36: CJNE R1,#37H,ICS37 ;IC 7437 CALL ICNM37 AJMP ICX0 ICS37: CJNE R1,#38H,ICS38 ;IC 7438 CALL ICNM38 AJMP ICX0 ICS38: CJNE R1,#39H,ICS39 ;IC 7439 CALL ICNM39 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC7439 MOV GATES,#04H CALL ANALYSE RET ICS39: CJNE R1,#40H,ICS40 ;IC 7440 CALL ICNM40 AJMP ICX5 ICS40: CJNE R1,#42H,ICS42 ;IC 7442 CALL ICNM42 ASD3: MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC7442_45_145_445 MOV GATES,#07H CALL ANALYSE RET ICS42: CJNE R1,#43H,ICS43 ;IC 7443 CALL ICNM43 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC7443 MOV GATES,#07H CALL ANALYSE RET ICS43: CJNE R1,#44H,ICS44 ;IC 7444 CALL ICNM44 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC7444 MOV GATES,#07H CALL ANALYSE RET ICS44: CJNE R1,#45H,ICS45 ;IC 7445 CALL ICNM45 AJMP ASD3 ICS45: CJNE R1,#46H,ICS46 ;IC 7446 CALL ICNM46 ASD4: MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC7447_46_48_248_247_447 MOV GATES,#07H CALL ANALYSE RET ICS46: CJNE R1,#467,ICS47 ;IC 7447 CALL ICNM47 AJMP ASD4 ICS47: CJNE R1,#48H,ICS48 ;IC 7448 CALL ICNM48 AJMP ASD4 ICS48: CJNE R1,#54H,ICS54 ;IC 7454 CALL ICNM54 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC7454 MOV GATES,#04H CALL ANALYSE RET ICS54: CJNE R1,#64H,ICS64 ;IC 7464 CALL ICNM64 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC7464 MOV GATES,#04H CALL ANALYSE RET ICS64: CJNE R1,#70H,ICS70 ;IC 7470 CALL ICNM70 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC7470 MOV GATES,#07H CALL ANALYSE RET ICS70: CJNE R1,#74H,ICS74 ;IC 7474 CALL ICNM74 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC7474 MOV GATES,#02H CALL ANALYSE RET ICS74: CJNE R1,#76H,ICS76 ;IC 7476 CALL ICNM76 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC7476 MOV GATES,#02H CALL ANALYSE RET ICS76: CJNE R1,#77H,ICS77 ;IC 7477 CALL ICNM77 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC7477 MOV GATES,#04H CALL ANALYSE RET ICS77: CJNE R1,#78H,ICS78 ;IC 7478 CALL ICNM78 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC7478 MOV GATES,#02H CALL ANALYSE RET ICS78: CJNE R1,#80H,ICS80 ;IC 7480 CALL ICNM80 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC7480 MOV GATES,#07H CALL ANALYSE RET ICS80: CJNE R1,#82H,ICS82 ;IC 7482 CALL ICNM82 MOV RELAYS,#03H CALL PROGRESS_BAR CALL IC7482 MOV GATES,#07H CALL ANALYSE RET ICS82: CJNE R1,#83H,ICS83 ;IC 7483 CALL ICNM83 MOV RELAYS,#04H CALL PROGRESS_BAR CALL IC7483 MOV GATES,#07H CALL ANALYSE RET ICS83: CJNE R1,#85H,ICS85 ;IC 7485 CALL ICNM82 MOV RELAYS,#03H CALL PROGRESS_BAR CALL IC7482 MOV GATES,#07H CALL ANALYSE RET ICS85: CJNE R1,#86H,ICS86 ;IC 7486 CALL ICNM86 ASD7: MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC7486 MOV GATES,#04H CALL ANALYSE RET ICS86: CJNE R1,#87H,ICS87 ;IC 7487 CALL ICNM87 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC7487 MOV GATES,#07H CALL ANALYSE RET ICS87: CJNE R1,#89H,ICS89 ;IC 7489 CALL ICNM89 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC7489 MOV GATES,#07H CALL ANALYSE RET ICS89: CJNE R1,#94H,ICS94 ;IC 7494 CALL ICNM94 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC7494 MOV GATES,#07H CALL ANALYSE RET ICS94: CJNE R1,#95H,ICS95 ;IC 7495 CALL ICNM95 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC7495 MOV GATES,#07H CALL ANALYSE RET ICS95: CJNE R1,#96H,ICS96 ;IC 7496 CALL ICNM96 MOV RELAYS,#04H CALL PROGRESS_BAR CALL IC7496 MOV GATES,#07H CALL ANALYSE RET ICS96: CALL NOTIN_DATABASE ;Display not in Database CALL DELAY CALL IC_TITLE RET ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ; DATABASE FROM 74100 TO 74199 ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& DATABASE_SEARCH1: ;Database search for 74100 to 74199 MOV R1,A CJNE R1,#01H,ICT1 ;IC 74101 CALL ICNM101 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC74101 MOV GATES,#07H ;Number of Gates CALL ANALYSE RET ICT1: CJNE R1,#02H,ICT2 ;IC 74102 CALL ICNM102 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC74102 MOV GATES,#07H ;Number of Gates CALL ANALYSE RET ICT2: CJNE R1,#03H,ICT3 ;IC 74103 CALL ICNM103 MOV RELAYS,#03H CALL PROGRESS_BAR CALL IC74103 MOV GATES,#02H ;Number of Gates CALL ANALYSE RET ICT3: CJNE R1,#07H,ICT7 ;IC 74107 CALL ICNM107 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC74107 MOV GATES,#02H ;Number of Gates CALL ANALYSE RET ICT7: CJNE R1,#08H,ICT8 ;IC 74108 CALL ICNM108 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC74108 MOV GATES,#02H ;Number of Gates CALL ANALYSE RET ICT8: CJNE R1,#09H,ICT9 ;IC 74109 CALL ICNM109 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74109 MOV GATES,#02H CALL ANALYSE RET ICT9: CJNE R1,#12H,ICT12 ;IC 74112 CALL ICNM112 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74112 MOV GATES,#02H CALL ANALYSE RET ICT12: CJNE R1,#13H,ICT13 ;IC 74113 CALL ICNM113 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC74113 MOV GATES,#02H CALL ANALYSE RET ICT13: CJNE R1,#25H,ICT25 ;IC 74125 CALL ICNM125 AJMP ASD5 ICT25: CJNE R1,#26H,ICT26 ;IC 74126 CALL ICNM126 AJMP ICX2 ICT26: CJNE R1,#28H,ICT28 ;IC 74128 CALL ICNM128 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC74128 MOV GATES,#04H CALL ANALYSE RET ICT28: CJNE R1,#30H,ICT30 ;IC 74130 CALL ICNM130 AJMP ICX2 ICT30: CJNE R1,#32H,ICT32 ;IC 74132 CALL ICNM132 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC74132 MOV GATES,#04H CALL ANALYSE RET ICT32: CJNE R1,#33H,ICT33 ;IC 74133 CALL ICNM133 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74132 MOV GATES,#07H CALL ANALYSE RET ICT33: CJNE R1,#34H,ICT34 ;IC 74134 CALL ICNM134 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74134 MOV GATES,#07H CALL ANALYSE RET ICT34: CJNE R1,#35H,ICT35 ;IC 74135 CALL ICNM135 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74135 MOV GATES,#04H CALL ANALYSE RET ICT35: CJNE R1,#36H,ICT36 ;IC 74136 CALL ICNM136 AJMP ASD7 ICT36: CJNE R1,#37H,ICT37 ;IC 74137 CALL ICNM137 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74137 MOV GATES,#07H CALL ANALYSE RET ICT37: CJNE R1,#38H,ICT38 ;IC 74138 CALL ICNM138 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74138 MOV GATES,#07H CALL ANALYSE RET ICT38: CJNE R1,#39H,ICT39 ;IC 74139 CALL ICNM139 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74139 MOV GATES,#02H CALL ANALYSE RET ICT39: CJNE R1,#40H,ICT40 ;IC 74140 CALL ICNM140 JMP ICX5 ICT40: CJNE R1,#45H,ICT45 ;IC 74145 CALL ICNM145 JMP ASD3 ICT45: CJNE R1,#47H,ICT47 ;IC 74147 CALL ICNM147 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74147 MOV GATES,#07H CALL ANALYSE RET ICT47: CJNE R1,#48H,ICT48 ;IC 74148 CALL ICNM148 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74148 MOV GATES,#07H CALL ANALYSE RET ICT48: CJNE R1,#51H,ICT51 ;IC 74151 CALL ICNM151 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74151 MOV GATES,#07H CALL ANALYSE RET ICT51: CJNE R1,#52H,ICT52 ;IC 74152 CALL ICNM152 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC74152 MOV GATES,#07H CALL ANALYSE RET ICT52: CJNE R1,#53H,ICT53 ;IC 74153 CALL ICNM153 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC74153 MOV GATES,#07H CALL ANALYSE RET ICT53: CJNE R1,#55H,ICT55 ;IC 74155 CALL ICNM155 ASD8: MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74155_156 MOV GATES,#07H CALL ANALYSE RET ICT55: CJNE R1,#56H,ICT56 ;IC 74156 CALL ICNM156 AJMP ASD8 ICT56: CJNE R1,#57H,ICT57 ;IC 74157 CALL ICNM157 ASD9: MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC74157_158 MOV GATES,#04H CALL ANALYSE RET ICT57: CJNE R1,#58H,ICT58 ;IC 74158 CALL ICNM158 AJMP ASD9 ICT58: CJNE R1,#60H,ICT60 ;IC 74160 CALL ICNM160 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74160 MOV GATES,#07H CALL ANALYSE RET ICT60: CJNE R1,#61H,ICT61 ;IC 74161 CALL ICNM161 ASX1: MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74161_163 MOV GATES,#07H CALL ANALYSE RET ICT61: CJNE R1,#63H,ICT63 ;IC 74163 CALL ICNM163 AJMP ASX1 ICT63: CJNE R1,#64H,ICT64 ;IC 74164 CALL ICNM164 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74164 MOV GATES,#07H CALL ANALYSE RET ICT64: CJNE R1,#65H,ICT65 ;IC 74165 CALL ICNM165 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74165 MOV GATES,#07H CALL ANALYSE RET ICT65: CJNE R1,#66H,ICT66 ;IC 74166 CALL ICNM166 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74166 MOV GATES,#07H CALL ANALYSE RET ICT66: CJNE R1,#71H,ICT71 ;IC 74171 CALL ICNM171 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74171 MOV GATES,#04H CALL ANALYSE RET ICT71: CJNE R1,#73H,ICT73 ;IC 74173 CALL ICNM173 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74173 MOV GATES,#07H CALL ANALYSE RET ICT73: CJNE R1,#74H,ICT74 ;IC 74174 CALL ICNM174 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74174 MOV GATES,#07H CALL ANALYSE RET ICT74: CJNE R1,#75H,ICT75 ;IC 74175 CALL ICNM175 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74175 MOV GATES,#04H CALL ANALYSE RET ICT75: CJNE R1,#76H,ICT76 ;IC 74176 CALL ICNM176 ASX2: MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC74176_77 MOV GATES,#07H CALL ANALYSE RET ICT76: CJNE R1,#77H,ICT77 ;IC 74177 CALL ICNM177 AJMP ASX2 ICT77: CJNE R1,#80H,ICT80 ;IC 74180 CALL ICNM180 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC74180 MOV GATES,#07H CALL ANALYSE RET ICT80: CJNE R1,#82H,ICT82 ;IC 74182 CALL ICNM182 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74182 MOV GATES,#07H CALL ANALYSE RET ICT82: CJNE R1,#90H,ICT90 ;IC 74190 CALL ICNM190 ASX3: MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74190_191 MOV GATES,#07H CALL ANALYSE RET ICT90: CJNE R1,#91H,ICT91 ;IC 74191 CALL ICNM191 AJMP ASX3 ICT91: CJNE R1,#92H,ICT92 ;IC 74192 CALL ICNM192 ASX4: MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74192_193 MOV GATES,#07H CALL ANALYSE RET ICT92: CJNE R1,#93H,ICT93 ;IC 74193 CALL ICNM193 AJMP ASX4 ICT93: CJNE R1,#94H,ICT94 ;IC 74194 CALL ICNM194 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74194 MOV GATES,#07H CALL ANALYSE RET ICT94: CJNE R1,#95H,ICT95 ;IC 74195 CALL ICNM195 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74195 MOV GATES,#07H CALL ANALYSE RET ICT95: CJNE R1,#97H,ICT97 ;IC 74197 CALL ICNM197 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74197 MOV GATES,#07H CALL ANALYSE RET ICT97: CALL NOTIN_DATABASE ;Display not in Database CALL DELAY CALL IC_TITLE RET ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ; DATABASE FROM 74200 TO 74299 ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& DATABASE_SEARCH2: ;Database search for 74200 to 74299 MOV R1,A CJNE R1,#42H,ICW42 ;IC 74242 CALL ICNM242 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC74242 MOV GATES,#07H ;Number of Gates CALL ANALYSE RET ICW42: CJNE R1,#43H,ICW43 ;IC 74243 CALL ICNM243 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC74243 MOV GATES,#07H ;Number of Gates CALL ANALYSE RET ICW43: CJNE R1,#47H,ICW47 ;IC 74247 CALL ICNM247 JMP ASD4 ICW47: CJNE R1,#48H,ICW48 ;IC 74248 CALL ICNM248 JMP ASD4 ICW48: CJNE R1,#49H,ICW49 ;IC 74249 CALL ICNM249 JMP ASD4 ICW49: CJNE R1,#51H,ICW51 ;IC 74251 CALL ICNM251 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74251 MOV GATES,#07H ;Number of Gates CALL ANALYSE RET ICW51: CJNE R1,#53H,ICW53 ;IC 74253 CALL ICNM253 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74253 MOV GATES,#07H ;Number of Gates CALL ANALYSE RET ICW53: CJNE R1,#56H,ICW56 ;IC 74256 CALL ICNM256 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74256 MOV GATES,#02H ;Number of Gates CALL ANALYSE RET ICW56: CJNE R1,#57H,ICW57 ;IC 74257 CALL ICNM257 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74257 MOV GATES,#04H ;Number of Gates CALL ANALYSE RET ICW57: CJNE R1,#58H,ICW58 ;IC 74258 CALL ICNM258 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74258 MOV GATES,#02H ;Number of Gates CALL ANALYSE RET ICW58: CJNE R1,#59H,ICW59 ;IC 74259 CALL ICNM259 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74259 MOV GATES,#07H ;Number of Gates CALL ANALYSE RET ICW59: CJNE R1,#60H,ICW60 ;IC 74260 CALL ICNM260 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC74260 MOV GATES,#02H ;Number of Gates CALL ANALYSE RET ICW60: CJNE R1,#66H,ICW66 ;IC 74266 CALL ICNM266 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC74266 MOV GATES,#04H ;Number of Gates CALL ANALYSE RET ICW66: CJNE R1,#79H,ICW79 ;IC 74279 CALL ICNM279 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74279 MOV GATES,#04H ;Number of Gates CALL ANALYSE RET ICW79: CJNE R1,#80H,ICW80 ;IC 74280 CALL ICNM280 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC74280 MOV GATES,#07H ;Number of Gates CALL ANALYSE RET ICW80: CJNE R1,#83H,ICW83 ;IC 74283 CALL ICNM283 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74283 MOV GATES,#07H ;Number of Gates CALL ANALYSE RET ICW83: CJNE R1,#90H,ICW90 ;IC 74256 CALL ICNM290 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC74290 MOV GATES,#07H ;Number of Gates CALL ANALYSE RET ICW90: CJNE R1,#93H,ICW93 ;IC 74293 CALL ICNM293 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC74293 MOV GATES,#07H ;Number of Gates CALL ANALYSE RET ICW93: CJNE R1,#95H,ICW95 ;IC 74295 CALL ICNM295 MOV RELAYS,#01H CALL PROGRESS_BAR CALL IC74295 MOV GATES,#07H ;Number of Gates CALL ANALYSE RET ICW95: CJNE R1,#98H,ICW98 ;IC 74298 CALL ICNM298 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74298 MOV GATES,#07H ;Number of Gates CALL ANALYSE RET ICW98: CALL NOTIN_DATABASE ;Display not in Database CALL DELAY CALL IC_TITLE RET ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ; DATABASE FROM 74300 TO 74399 ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& DATABASE_SEARCH3: ;Database search for 74300 to 74399 MOV R1,A CJNE R1,#50H,ICB50 ;IC 74350 CALL ICNM350 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74350 MOV GATES,#07H CALL ANALYSE RET ICB50: CJNE R1,#52H,ICB52 ;IC 74352 CALL ICNM352 ASX5: MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74352_353 MOV GATES,#02H CALL ANALYSE RET ICB52: CJNE R1,#53H,ICB53 ;IC 74353 CALL ICNM353 AJMP ASX5 ICB53: CJNE R1,#65H,ICB65 ;IC 74365 CALL ICNM365 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74365 MOV GATES,#07H CALL ANALYSE RET ICB65: CJNE R1,#66H,ICB66 ;IC 74366 CALL ICNM366 ASX6: MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74366_368 MOV GATES,#07H CALL ANALYSE RET ICB66: CJNE R1,#67H,ICB67 ;IC 74367 CALL ICNM367 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74367 MOV GATES,#07H CALL ANALYSE RET ICB67: CJNE R1,#68H,ICB68 ;IC 74368 CALL ICNM368 AJMP ASX6 ICB68: CJNE R1,#75H,ICB75 ;IC 74375 CALL ICNM375 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74375 MOV GATES,#04H CALL ANALYSE RET ICB75: CJNE R1,#78H,ICB78 ;IC 74378 CALL ICNM378 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74378 MOV GATES,#02H CALL ANALYSE RET ICB78: CJNE R1,#79H,ICB79 ;IC 74379 CALL ICNM379 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74379 MOV GATES,#04H CALL ANALYSE RET ICB79: CJNE R1,#90H,ICB90 ;IC 74352 CALL ICNM390 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74390 MOV GATES,#02H CALL ANALYSE RET ICB90: CJNE R1,#93H,ICB93 ;IC 74393 CALL ICNM393 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74393 MOV GATES,#01H CALL ANALYSE RET ICB93: CJNE R1,#95H,ICB95 ;IC 74395 CALL ICNM395 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74395 MOV GATES,#07H CALL ANALYSE RET ICB95: CALL NOTIN_DATABASE ;Display not in Database CALL DELAY CALL IC_TITLE RET ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ; DATABASE FROM 74400 TO 74499 ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& DATABASE_SEARCH4: ;Database search for 74400 to 74499 MOV R1,A CJNE R1,#25H,ICY25 ;IC 74425 CALL ICNM425 JMP ASD5 ICY25: CJNE R1,#26H,ICY26 ;IC 74426 CALL ICNM426 JMP ICX2 ICY26: CJNE R1,#45H,ICY45 ;IC 74445 CALL ICNM445 JMP ASD3 ICY45: CJNE R1,#47H,ICY47 ;IC 74447 CALL ICNM447 JMP ASD4 ICY47: CJNE R1,#90H,ICY90 ;IC 74490 CALL ICNM490 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74490 MOV GATES,#02H CALL ANALYSE RET ICY90: CALL NOTIN_DATABASE ;Display not in Database CALL DELAY CALL IC_TITLE RET ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ; DATABASE FROM 74500 TO 74599 ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& DATABASE_SEARCH5: ;Database search for 74500 to 74599 CALL NOTIN_DATABASE ;Display not in Database CALL DELAY CALL IC_TITLE RET ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ; DATABASE FROM 74600 TO 74699 ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& DATABASE_SEARCH6: ;Database search for 74600 to 74699 MOV R1,A CJNE R1,#70H,ICRB70 ;IC 74670 CALL ICNM670 MOV RELAYS,#02H CALL PROGRESS_BAR CALL IC74670 MOV GATES,#07H CALL ANALYSE RET ICRB70: CALL NOTIN_DATABASE ;Display not in Database CALL DELAY CALL IC_TITLE RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ; ANALYSE THE RESULT AND DISPLAY ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ANALYSE: MOV A,GATES CJNE A,#07,VCCV CALL DELAY CALL CLRLIN2 JNB CHIP,DFF1 CALL IC_OK MOV GATEES,#0FFH ;initilize all gates as ok RET DFF1: CALL IC_NOTOK MOV GATEES,#0FFH ;initilize all gates as ok RET VCCV: MOV R7,GATES ;load the gates count JNB GATE1,GGT1 ;check then first gate CALL GATE1_OK AJMP GGT2 GGT1: CLR CHIP CALL GATE1_NOTOK GGT2: CALL DELAY CALL CLRLIN2 DJNZ R7,ASA1 ;Decrement the gate count JMP DOWWN ASA1: JNB GATE2,GGT3 CALL GATE2_OK AJMP GGT4 GGT3: CLR CHIP CALL GATE2_NOTOK GGT4: CALL DELAY CALL CLRLIN2 DJNZ R7,ASA2 JMP DOWWN ASA2: JNB GATE3,GGT5 CALL GATE3_OK AJMP GGT6 GGT5: CLR CHIP CALL GATE3_NOTOK GGT6:CALL DELAY CALL CLRLIN2 DJNZ R7,ASA3 JMP DOWWN ASA3: JNB GATE4,GGAT6 CALL GATE4_OK JMP AVVS1 GGAT6: CLR CHIP CALL GATE4_NOTOK AVVS1: CALL DELAY CALL CLRLIN2 DJNZ R7,ASA4 JMP DOWWN ASA4: JNB GATE5,GGT8 CALL GATE5_OK AJMP GGT9 GGT8: CLR CHIP CALL GATE5_NOTOK GGT9: CALL DELAY CALL CLRLIN2 DJNZ R7,ASA5 AJMP DOWWN ASA5: JNB GATE6,GGT10 CALL GATE6_OK AJMP DOWWN GGT10: CLR CHIP CALL GATE6_NOTOK DOWWN:CALL DELAY CALL CLRLIN2 JNB CHIP,DOWWN1 CALL IC_OK MOV GATEES,#0FFH ;initilize all gates as ok RET DOWWN1: CALL IC_NOTOK MOV GATEES,#0FFH ;initilize all gates as ok RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ; PROGRESS BAR SUBROUTINE ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ PROGRESS_BAR: CALL LEVEL1 CLR RELAY1 CLR RELAY2 CLR RELAY3 MOV A,RELAYS CJNE A,#01H,PLP1 SETB RELAY1 AJMP PLP3 PLP1: CJNE A,#02H,PLP2 SETB RELAY2 AJMP PLP3 PLP2: CJNE A,#02H,PLP3 SETB RELAY3 PLP3: CALL DEELAY CALL LEVEL2 CALL DEELAY CALL LEVEL2 CALL DEELAY CALL LEVEL2 CALL DEELAY CALL LEVEL2 CALL DEELAY CALL LEVEL2 CALL DEELAY CALL LEVEL2 CALL DEELAY CALL LEVEL2 CALL DEELAY CALL CLRLIN2 RET ;########################################################## ; DISPLAY ROUTINES ;########################################################## TITLE: MOV DPTR,#MSAG1 CALL LCD_MSG RET MSAG1: DB 1H,80H,'MICROCONTROLLER',0C0H,'BASED IC TESTER ',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IC_TITLE: MOV DPTR,#MSAG2 CALL LCD_MSG MOV DPTR,#MSAG3 CALL LCD_MSG RET MSAG2: DB 1H,80H,'Enter the IC No:',0C0H,' ',00H MSAG3: DB 0C0H,00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ WARNING: MOV DPTR,#MSAG5 CALL LCD_MSG MOV DPTR,#MSAG6 CALL LCD_MSG RET MSAG5: DB 1H,80H,'74 Series Only!',0C0H,' ',00H MSAG6: DB 0C0H,00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ OVERFLOW: MOV DPTR,#MSAG7 CALL LCD_MSG RET MSAG7: DB 1H,80H,'Maximum 5 Digits',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ NOTIN_DATABASE: MOV DPTR,#MSAG8 CALL LCD_MSG RET MSAG8: DB 1H,82H,'IC NOT IN',0C3H,'DATABASE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ WARNING1: MOV DPTR,#MSAG9 CALL LCD_MSG MOV DPTR,#MSAG10 CALL LCD_MSG RET MSAG9: DB 1H,80H,'Plz Enter IC No:',0C0H,' ',00H MSAG10: DB 0C0H,00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CLRLIN2: MOV DPTR,#MSAG11 CALL LCD_MSG RET MSAG11: DB 0C0H,' ',00H ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% GATE1_OK: MOV DPTR,#GTE1 CALL LCD_MSG RET GTE1: DB 0C0H,'GATE 1 OK',00H ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% GATE2_OK: MOV DPTR,#GTE2 CALL LCD_MSG RET GTE2: DB 0C0H,'GATE 2 OK',00H ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% GATE3_OK: MOV DPTR,#GTE3 CALL LCD_MSG RET GTE3: DB 0C0H,'GATE 3 OK',00H ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% GATE4_OK: MOV DPTR,#GTE4 CALL LCD_MSG RET GTE4: DB 0C0H,'GATE 4 OK',00H ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% GATE5_OK: MOV DPTR,#GTE5 CALL LCD_MSG RET GTE5: DB 0C0H,'GATE 5 OK',00H ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% GATE6_OK: MOV DPTR,#GTE6 CALL LCD_MSG RET GTE6: DB 0C0H,'GATE 6 OK',00H ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% GATE1_NOTOK: MOV DPTR,#GTE7 CALL LCD_MSG RET GTE7: DB 0C0H,'GATE 1 NOT OK',00H ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% GATE2_NOTOK: MOV DPTR,#GTE8 CALL LCD_MSG RET GTE8: DB 0C0H,'GATE 2 NOT OK',00H ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% GATE3_NOTOK: MOV DPTR,#GTE9 CALL LCD_MSG RET GTE9: DB 0C0H,'GATE 3 NOT OK',00H ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% GATE4_NOTOK: MOV DPTR,#GTE10 CALL LCD_MSG RET GTE10: DB 0C0H,'GATE 4 NOT OK',00H ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% GATE5_NOTOK: MOV DPTR,#GTE11 CALL LCD_MSG RET GTE11: DB 0C0H,'GATE 5 NOT OK',00H ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% GATE6_NOTOK: MOV DPTR,#GTE12 CALL LCD_MSG RET GTE12: DB 0C0H,'GATE 6 NOT OK',00H ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% IC_OK: MOV DPTR,#GTE13 CALL LCD_MSG RET GTE13: DB 0C4H,'IC is GOOD ',00H ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% IC_NOTOK: MOV DPTR,#GTE14 CALL LCD_MSG RET GTE14: DB 0C4H,'IC is BAD ',00H ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM00: MOV DPTR,#ICMSG0 CALL LCD_MSG RET ICMSG0: DB 1H,80H,'7400 NAND GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM01: MOV DPTR,#ICMSG1 CALL LCD_MSG RET ICMSG1: DB 1H,80H,'7401 NAND GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM02: MOV DPTR,#ICMSG2 CALL LCD_MSG RET ICMSG2: DB 1H,80H,'7402 NOR GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM03: MOV DPTR,#ICMSG3 CALL LCD_MSG RET ICMSG3: DB 1H,80H,'7403 NAND GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM04: MOV DPTR,#ICMSG4 CALL LCD_MSG RET ICMSG4: DB 1H,80H,'7404 NOT GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM05: MOV DPTR,#ICMSG5 CALL LCD_MSG RET ICMSG5: DB 1H,80H,'7405 NOT GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM06: MOV DPTR,#ICMSG6 CALL LCD_MSG RET ICMSG6: DB 1H,80H,'7406 HEX DRI IN',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM07: MOV DPTR,#ICMSG7 CALL LCD_MSG RET ICMSG7: DB 1H,80H,'7407 HEX DRI NI',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM08: MOV DPTR,#ICMSG8 CALL LCD_MSG RET ICMSG8: DB 1H,80H,'7408 AND GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM09: MOV DPTR,#ICMSG9 CALL LCD_MSG RET ICMSG9: DB 1H,80H,'7409 AND GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM10: MOV DPTR,#ICMSG10 CALL LCD_MSG RET ICMSG10: DB 1H,80H,'7410 NAND GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM11: MOV DPTR,#ICMSG11 CALL LCD_MSG RET ICMSG11: DB 1H,80H,'7411 AND GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM12: MOV DPTR,#ICMSG12 CALL LCD_MSG RET ICMSG12: DB 1H,80H,'7412 NAND GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM13: MOV DPTR,#ICMSG13 CALL LCD_MSG RET ICMSG13: DB 1H,80H,'7413 NAND GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM14: MOV DPTR,#ICMSG14 CALL LCD_MSG RET ICMSG14: DB 1H,80H,'7414 HEX INV',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM15: MOV DPTR,#ICMSG15 CALL LCD_MSG RET ICMSG15: DB 1H,80H,'7415 AND GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM16: MOV DPTR,#ICMSG16 CALL LCD_MSG RET ICMSG16: DB 1H,80H,'7416 HEX INV',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM17: MOV DPTR,#ICMSG17 CALL LCD_MSG RET ICMSG17: DB 1H,80H,'7417 HEX NON INV',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM18: MOV DPTR,#ICMSG18 CALL LCD_MSG RET ICMSG18: DB 1H,80H,'7418 NAND GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM19: MOV DPTR,#ICMSG19 CALL LCD_MSG RET ICMSG19: DB 1H,80H,'7419 HEX INV',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM20: MOV DPTR,#ICMSG20 CALL LCD_MSG RET ICMSG20: DB 1H,80H,'7420 NAND GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM21: MOV DPTR,#ICMSG21 CALL LCD_MSG RET ICMSG21: DB 1H,80H,'7421 AND GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM22: MOV DPTR,#ICMSG22 CALL LCD_MSG RET ICMSG22: DB 1H,80H,'7422 NAND GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM24: MOV DPTR,#ICMSG24 CALL LCD_MSG RET ICMSG24: DB 1H,80H,'7424 NAND GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM25: MOV DPTR,#ICMSG25 CALL LCD_MSG RET ICMSG25: DB 1H,80H,'7425 NOR GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM26: MOV DPTR,#ICMSG26 CALL LCD_MSG RET ICMSG26: DB 1H,80H,'7426 NAND GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM27: MOV DPTR,#ICMSG27 CALL LCD_MSG RET ICMSG27: DB 1H,80H,'7427 NOR GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM28: MOV DPTR,#ICMSG28 CALL LCD_MSG RET ICMSG28: DB 1H,80H,'7428 NOR GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM30: MOV DPTR,#ICMSG30 CALL LCD_MSG RET ICMSG30: DB 1H,80H,'7430 NAND GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM32: MOV DPTR,#ICMSG32 CALL LCD_MSG RET ICMSG32: DB 1H,80H,'7432 OR GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM33: MOV DPTR,#ICMSG33 CALL LCD_MSG RET ICMSG33: DB 1H,80H,'7433 NOR GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM34: MOV DPTR,#ICMSG34 CALL LCD_MSG RET ICMSG34: DB 1H,80H,'7434 HEX NON INV',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM35: MOV DPTR,#ICMSG35 CALL LCD_MSG RET ICMSG35: DB 1H,80H,'7435 HEX NON INV',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM36: MOV DPTR,#ICMSG36 CALL LCD_MSG RET ICMSG36: DB 1H,80H,'7436 NOR GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM37: MOV DPTR,#ICMSG37 CALL LCD_MSG RET ICMSG37: DB 1H,80H,'7437 NAND GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM38: MOV DPTR,#ICMSG38 CALL LCD_MSG RET ICMSG38: DB 1H,80H,'7438 NAND GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM39: MOV DPTR,#ICMSG39 CALL LCD_MSG RET ICMSG39: DB 1H,80H,'7439 NAND GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM40: MOV DPTR,#ICMSG40 CALL LCD_MSG RET ICMSG40: DB 1H,80H,'7440 NAND GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM42: MOV DPTR,#ICMSG42 CALL LCD_MSG RET ICMSG42: DB 1H,80H,'7442 BCD TO DECI',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM43: MOV DPTR,#ICMSG43 CALL LCD_MSG RET ICMSG43: DB 1H,80H,'7443 EX3 TO DECI',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM44: MOV DPTR,#ICMSG44 CALL LCD_MSG RET ICMSG44: DB 1H,80H,'7444 GRY TO DECI',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM45: MOV DPTR,#ICMSG45 CALL LCD_MSG RET ICMSG45: DB 1H,80H,'7445 BCD TO DECI',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM46: MOV DPTR,#ICMSG46 CALL LCD_MSG RET ICMSG46: DB 1H,80H,'7446 BCD TO 7SEG',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM47: MOV DPTR,#ICMSG47 CALL LCD_MSG RET ICMSG47: DB 1H,80H,'7447 BCD TO 7SEG',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM48: MOV DPTR,#ICMSG48 CALL LCD_MSG RET ICMSG48: DB 1H,80H,'7448 BCD TO 7SEG',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM54: MOV DPTR,#ICMSG54 CALL LCD_MSG RET ICMSG54: DB 1H,80H,'7454 AND/NOR COM',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM64: MOV DPTR,#ICMSG64 CALL LCD_MSG RET ICMSG64: DB 1H,80H,'7464 AND/NOR COM',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM70: MOV DPTR,#ICMSG70 CALL LCD_MSG RET ICMSG70: DB 1H,80H,'7470 JK FLIPFLOP',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM72: MOV DPTR,#ICMSG72 CALL LCD_MSG RET ICMSG72: DB 1H,80H,'7472 JK FLIPFLOP',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM73: MOV DPTR,#ICMSG73 CALL LCD_MSG RET ICMSG73: DB 1H,80H,'7473 JK FLIPFLOP',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM74: MOV DPTR,#ICMSG74 CALL LCD_MSG RET ICMSG74: DB 1H,80H,'7474 D FLIPFLOP',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM75: MOV DPTR,#ICMSG75 CALL LCD_MSG RET ICMSG75: DB 1H,80H,'7475 D LATCH',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM76: MOV DPTR,#ICMSG76 CALL LCD_MSG RET ICMSG76: DB 1H,80H,'7476 JK FLIPFLOP',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM77: MOV DPTR,#ICMSG77 CALL LCD_MSG RET ICMSG77: DB 1H,80H,'7477 D LATCH',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM78: MOV DPTR,#ICMSG78 CALL LCD_MSG RET ICMSG78: DB 1H,80H,'7478 JK FLIPFLOP',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM80: MOV DPTR,#ICMSG80 CALL LCD_MSG RET ICMSG80: DB 1H,80H,'7480 FULL ADDER',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM82: MOV DPTR,#ICMSG82 CALL LCD_MSG RET ICMSG82: DB 1H,80H,'7482 FULL ADDER',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM83: MOV DPTR,#ICMSG83 CALL LCD_MSG RET ICMSG83: DB 1H,80H,'7483 FULL ADDER',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM85: MOV DPTR,#ICMSG85 CALL LCD_MSG RET ICMSG85: DB 1H,80H,'7485 4-BIT COMP',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM86: MOV DPTR,#ICMSG86 CALL LCD_MSG RET ICMSG86: DB 1H,80H,'7486 EX-OR GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM87: MOV DPTR,#ICMSG87 CALL LCD_MSG RET ICMSG87: DB 1H,80H,'7487 4-BIT COMP',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM89: MOV DPTR,#ICMSG89 CALL LCD_MSG RET ICMSG89: DB 1H,80H,'7489 16X4 RAM',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM94: MOV DPTR,#ICMSG94 CALL LCD_MSG RET ICMSG94: DB 1H,80H,'7494 SHIFT REG',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM95: MOV DPTR,#ICMSG95 CALL LCD_MSG RET ICMSG95: DB 1H,80H,'7495 SHIFT REG',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM96: MOV DPTR,#ICMSG96 CALL LCD_MSG RET ICMSG96: DB 1H,80H,'7496 SHIFT REG',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM101: MOV DPTR,#ICMSG101 CALL LCD_MSG RET ICMSG101: DB 1H,80H,'74101 JK FLIPFLP',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM102: MOV DPTR,#ICMSG102 CALL LCD_MSG RET ICMSG102: DB 1H,80H,'74102 JK FLIPFLP',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM103: MOV DPTR,#ICMSG103 CALL LCD_MSG RET ICMSG103: DB 1H,80H,'74103 JK FLIPFLP',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM107: MOV DPTR,#ICMSG107 CALL LCD_MSG RET ICMSG107: DB 1H,80H,'74107 JK FLIPFLP',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM108: MOV DPTR,#ICMSG108 CALL LCD_MSG RET ICMSG108: DB 1H,80H,'74108 JK FLIPFLP',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM109: MOV DPTR,#ICMSG109 CALL LCD_MSG RET ICMSG109: DB 1H,80H,'74109 JK FLIPFLP',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM112: MOV DPTR,#ICMSG112 CALL LCD_MSG RET ICMSG112: DB 1H,80H,'74112 JK FLIPFLP',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM113: MOV DPTR,#ICMSG113 CALL LCD_MSG RET ICMSG113: DB 1H,80H,'74113 JK FLIPFLP',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM125: MOV DPTR,#ICMSG125 CALL LCD_MSG RET ICMSG125: DB 1H,80H,'74125 BUS DRIVER',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM126: MOV DPTR,#ICMSG126 CALL LCD_MSG RET ICMSG126: DB 1H,80H,'74126 BUS DRIVER',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM128: MOV DPTR,#ICMSG128 CALL LCD_MSG RET ICMSG128: DB 1H,80H,'74128 NOR PWR DRI',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM130: MOV DPTR,#ICMSG130 CALL LCD_MSG RET ICMSG130: DB 1H,80H,'74130 AND GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM132: MOV DPTR,#ICMSG132 CALL LCD_MSG RET ICMSG132: DB 1H,80H,'74132 NAND GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM133: MOV DPTR,#ICMSG133 CALL LCD_MSG RET ICMSG133: DB 1H,80H,'74133 NAND GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM134: MOV DPTR,#ICMSG134 CALL LCD_MSG RET ICMSG134: DB 1H,80H,'74134 NAND GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM135: MOV DPTR,#ICMSG135 CALL LCD_MSG RET ICMSG135: DB 1H,80H,'74135 EXNOR/OR',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM136: MOV DPTR,#ICMSG136 CALL LCD_MSG RET ICMSG136: DB 1H,80H,'74136 EXOR GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM137: MOV DPTR,#ICMSG137 CALL LCD_MSG RET ICMSG137: DB 1H,80H,'74137 DEMUX',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM138: MOV DPTR,#ICMSG138 CALL LCD_MSG RET ICMSG138: DB 1H,80H,'74138 DEMUX',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM139: MOV DPTR,#ICMSG139 CALL LCD_MSG RET ICMSG139: DB 1H,80H,'74139 DEMUX',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM140: MOV DPTR,#ICMSG140 CALL LCD_MSG RET ICMSG140: DB 1H,80H,'74140 NAND DRIV',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM145: MOV DPTR,#ICMSG145 CALL LCD_MSG RET ICMSG145: DB 1H,80H,'74145 DISP DRIV',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM147: MOV DPTR,#ICMSG147 CALL LCD_MSG RET ICMSG147: DB 1H,80H,'74147 ENCODER',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM148: MOV DPTR,#ICMSG148 CALL LCD_MSG RET ICMSG148: DB 1H,80H,'74148 ENCODER',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM151: MOV DPTR,#ICMSG151 CALL LCD_MSG RET ICMSG151: DB 1H,80H,'74151 8-1 MUX',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM152: MOV DPTR,#ICMSG152 CALL LCD_MSG RET ICMSG152: DB 1H,80H,'74152 8-1 MUX',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM153: MOV DPTR,#ICMSG153 CALL LCD_MSG RET ICMSG153: DB 1H,80H,'74153 4-1 MUX',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM155: MOV DPTR,#ICMSG155 CALL LCD_MSG RET ICMSG155: DB 1H,80H,'74155 DEMUX',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM156: MOV DPTR,#ICMSG156 CALL LCD_MSG RET ICMSG156: DB 1H,80H,'74156 DEMUX',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM157: MOV DPTR,#ICMSG157 CALL LCD_MSG RET ICMSG157: DB 1H,80H,'74157 2-1 MUX',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM158: MOV DPTR,#ICMSG158 CALL LCD_MSG RET ICMSG158: DB 1H,80H,'74158 2-1 MUX',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM160: MOV DPTR,#ICMSG160 CALL LCD_MSG RET ICMSG160: DB 1H,80H,'74160 UP/DN COUN',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM161: MOV DPTR,#ICMSG161 CALL LCD_MSG RET ICMSG161: DB 1H,80H,'74161 UP COUNT',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM163: MOV DPTR,#ICMSG163 CALL LCD_MSG RET ICMSG163: DB 1H,80H,'74163 UP COUNT',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM164: MOV DPTR,#ICMSG164 CALL LCD_MSG RET ICMSG164: DB 1H,80H,'74164 SHIFT REG',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM165: MOV DPTR,#ICMSG165 CALL LCD_MSG RET ICMSG165: DB 1H,80H,'74165 SHIFT REG',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM166: MOV DPTR,#ICMSG166 CALL LCD_MSG RET ICMSG166: DB 1H,80H,'74166 SHIFT REG',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM171: MOV DPTR,#ICMSG171 CALL LCD_MSG RET ICMSG171: DB 1H,80H,'74171 D FLIPFLOP',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM173: MOV DPTR,#ICMSG173 CALL LCD_MSG RET ICMSG173: DB 1H,80H,'74173 D-REG',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM174: MOV DPTR,#ICMSG174 CALL LCD_MSG RET ICMSG174: DB 1H,80H,'74174 D-REG',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM175: MOV DPTR,#ICMSG175 CALL LCD_MSG RET ICMSG175: DB 1H,80H,'74175 D-REG',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM176: MOV DPTR,#ICMSG176 CALL LCD_MSG RET ICMSG176: DB 1H,80H,'74176 DEC UP CON',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM177: MOV DPTR,#ICMSG177 CALL LCD_MSG RET ICMSG177: DB 1H,80H,'74177 UP COUNT',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM180: MOV DPTR,#ICMSG180 CALL LCD_MSG RET ICMSG180: DB 1H,80H,'74180 PARITY CHK',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM182: MOV DPTR,#ICMSG182 CALL LCD_MSG RET ICMSG182: DB 1H,80H,'74182 CARRY UNI',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM190: MOV DPTR,#ICMSG190 CALL LCD_MSG RET ICMSG190: DB 1H,80H,'74190 UP/DN COUN',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM191: MOV DPTR,#ICMSG191 CALL LCD_MSG RET ICMSG191: DB 1H,80H,'74191 UP/DN COUN',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM192: MOV DPTR,#ICMSG192 CALL LCD_MSG RET ICMSG192: DB 1H,80H,'74192 UP/DN COUN',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM193: MOV DPTR,#ICMSG193 CALL LCD_MSG RET ICMSG193: DB 1H,80H,'74193 UP/DN COUN',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM194: MOV DPTR,#ICMSG194 CALL LCD_MSG RET ICMSG194: DB 1H,80H,'74194 SHIFT REG',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM195: MOV DPTR,#ICMSG195 CALL LCD_MSG RET ICMSG195: DB 1H,80H,'74195 SHIFT REG',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM197: MOV DPTR,#ICMSG197 CALL LCD_MSG RET ICMSG197: DB 1H,80H,'74197 UP COUNT',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM242: MOV DPTR,#ICMSG242 CALL LCD_MSG RET ICMSG242: DB 1H,80H,'74242 BIDIR BUS',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM243: MOV DPTR,#ICMSG243 CALL LCD_MSG RET ICMSG243: DB 1H,80H,'74243 BUS DRIV',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM247: MOV DPTR,#ICMSG247 CALL LCD_MSG RET ICMSG247: DB 1H,80H,'74247 BCD-7SEG',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM248: MOV DPTR,#ICMSG248 CALL LCD_MSG RET ICMSG248: DB 1H,80H,'74248 BCD-7SEG',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM249: MOV DPTR,#ICMSG249 CALL LCD_MSG RET ICMSG249: DB 1H,80H,'74249 BCD-7SEG',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM251: MOV DPTR,#ICMSG251 CALL LCD_MSG RET ICMSG251: DB 1H,80H,'74251 8-1 MUX',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM253: MOV DPTR,#ICMSG253 CALL LCD_MSG RET ICMSG253: DB 1H,80H,'74253 4-1 MUX',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM256: MOV DPTR,#ICMSG256 CALL LCD_MSG RET ICMSG256: DB 1H,80H,'74256 D LATCH',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM257: MOV DPTR,#ICMSG257 CALL LCD_MSG RET ICMSG257: DB 1H,80H,'74257 2-1 MUX',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM258: MOV DPTR,#ICMSG258 CALL LCD_MSG RET ICMSG258: DB 1H,80H,'74258 2-1 MUX',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM259: MOV DPTR,#ICMSG259 CALL LCD_MSG RET ICMSG259: DB 1H,80H,'74259 8BIT LATCH',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM260: MOV DPTR,#ICMSG260 CALL LCD_MSG RET ICMSG260: DB 1H,80H,'74260 NOR GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM266: MOV DPTR,#ICMSG266 CALL LCD_MSG RET ICMSG266: DB 1H,80H,'74266 EXNOR GATE',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM279: MOV DPTR,#ICMSG279 CALL LCD_MSG RET ICMSG279: DB 1H,80H,'74279 RS FLIPFLP',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM280: MOV DPTR,#ICMSG280 CALL LCD_MSG RET ICMSG280: DB 1H,80H,'74280 PARITY CHK',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM283: MOV DPTR,#ICMSG283 CALL LCD_MSG RET ICMSG283: DB 1H,80H,'74283 FULL ADDER',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM290: MOV DPTR,#ICMSG290 CALL LCD_MSG RET ICMSG290: DB 1H,80H,'74290 UP COUNTER',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM293: MOV DPTR,#ICMSG293 CALL LCD_MSG RET ICMSG293: DB 1H,80H,'74293 UP COUNTER',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM295: MOV DPTR,#ICMSG295 CALL LCD_MSG RET ICMSG295: DB 1H,80H,'74295 SHIFT REG',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM298: MOV DPTR,#ICMSG298 CALL LCD_MSG RET ICMSG298: DB 1H,80H,'74298 2-1 MUX',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM350: MOV DPTR,#ICMSG350 CALL LCD_MSG RET ICMSG350: DB 1H,80H,'74350 DELAY UNIT',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM352: MOV DPTR,#ICMSG352 CALL LCD_MSG RET ICMSG352: DB 1H,80H,'74352 4-1 MUX',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM353: MOV DPTR,#ICMSG353 CALL LCD_MSG RET ICMSG353: DB 1H,80H,'74353 4-1 MUX',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM365: MOV DPTR,#ICMSG365 CALL LCD_MSG RET ICMSG365: DB 1H,80H,'74365 BUS DRIVER',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM366: MOV DPTR,#ICMSG366 CALL LCD_MSG RET ICMSG366: DB 1H,80H,'74366 I/P DRIVER',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM367: MOV DPTR,#ICMSG367 CALL LCD_MSG RET ICMSG367: DB 1H,80H,'74367 BUS DRIVER',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM368: MOV DPTR,#ICMSG368 CALL LCD_MSG RET ICMSG368: DB 1H,80H,'74368 BUS DRIVER',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM375: MOV DPTR,#ICMSG375 CALL LCD_MSG RET ICMSG375: DB 1H,80H,'74375 D LATCH',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM378: MOV DPTR,#ICMSG378 CALL LCD_MSG RET ICMSG378: DB 1H,80H,'74378 D REG',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM379: MOV DPTR,#ICMSG379 CALL LCD_MSG RET ICMSG379: DB 1H,80H,'74379 D FLIPFLP',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM390: MOV DPTR,#ICMSG390 CALL LCD_MSG RET ICMSG390: DB 1H,80H,'74390 DEC UPCOUN',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM393: MOV DPTR,#ICMSG393 CALL LCD_MSG RET ICMSG393: DB 1H,80H,'74393 BIN UPCOUN',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM395: MOV DPTR,#ICMSG395 CALL LCD_MSG RET ICMSG395: DB 1H,80H,'74395 SHIFT REG',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM425: MOV DPTR,#ICMSG425 CALL LCD_MSG RET ICMSG425: DB 1H,80H,'74425 BUS DRIVER',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM426: MOV DPTR,#ICMSG426 CALL LCD_MSG RET ICMSG426: DB 1H,80H,'74426 BUS DRIVER',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM445: MOV DPTR,#ICMSG445 CALL LCD_MSG RET ICMSG445: DB 1H,80H,'74445 BCD-DECI',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM447: MOV DPTR,#ICMSG447 CALL LCD_MSG RET ICMSG447: DB 1H,80H,'74447 BCD-7SEG',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM490: MOV DPTR,#ICMSG490 CALL LCD_MSG RET ICMSG490: DB 1H,80H,'74490 DEC UPCOUN',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ICNM670: MOV DPTR,#ICMSG670 CALL LCD_MSG RET ICMSG670: DB 1H,80H,'74670 4X4 RAM',00H ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; ********************************************************************************************* LEVEL1: MOV DPTR,#MM1 CALL LCD_MSG RET MM1: DB 0C0H,0FFH,0FFH,00H ; ********************************************************************************************* LEVEL2: MOV DPTR,#MM2 CALL LCD_MSG RET MM2: DB 0FFH,0FFH,00H ; ********************************************************************************************* DELAY: MOV R1,#0FFH REP2: MOV R2,#0FFH REP1: NOP DJNZ R2,REP1 DJNZ R1,REP2 RET DEELAY: MOV R1,#33H RAEP2: MOV R2,#0FFH RAEP1: NOP DJNZ R2,RAEP1 DJNZ R1,RAEP2 RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ;------------------------------------------------------------------------ ;@@@@@@@@@@@@@@@@@@@@@@ IC DATABASE'S @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ;------------------------------------------------------------------------ ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC7400_1_3_24_26: MOV INPUTS1,01111110B MOV INPUTS2,11111110B JNB INP4,AA1 SETB GATE1 AA1: JNB INP7,AA2 SETB GATE2 AA2: JNB INP13,AA3 SETB GATE3 AA3: JNB INP16,AA4 SETB GATE4 AA4: MOV INPUTS1,01011010B MOV INPUTS2,10110110B JB INP4,AA5 SETB GATE1 AA5: JB INP7,AA6 SETB GATE2 AA6: JB INP13,AA7 SETB GATE3 AA7: JB INP16,AA8 SETB GATE4 AA8: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC7402_28: MOV INPUTS1,01111110B MOV INPUTS2,11111110B JNB INP2,AA9 SETB GATE1 AA9: JNB INP5,AA10 SETB GATE2 AA10: JNB INP11,AA11 SETB GATE3 AA11: JNB INP14,AA12 SETB GATE4 AA12: MOV INPUTS1,00010010B MOV INPUTS2,00100110B JB INP2,AA13 SETB GATE1 AA13: JB INP5,AA14 SETB GATE2 AA14: JB INP11,AA15 SETB GATE3 AA15: JB INP14,AA16 SETB GATE4 AA16: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC7404_5_6_14_16_19: MOV INPUTS1,#01111110B MOV INPUTS2,#11111110B JNB INP3,AA17 SETB GATE1 AA17: JNB INP5,AA18 SETB GATE2 AA18: JNB INP7,AA19 SETB GATE3 AA19: JNB INP12,AA20 SETB GATE4 AA20: JNB INP14,AA21 SETB GATE5 AA21: JNB INP16,AA22 SETB GATE6 AA22: MOV INPUTS1,#01010100B MOV INPUTS2,#10101010B JB INP3,AA23 SETB GATE1 AA23: JB INP5,AA24 SETB GATE2 AA24: JB INP7,AA25 SETB GATE3 AA25: JB INP12,AA26 SETB GATE4 AA26: JB INP14,AA27 SETB GATE5 AA27: JB INP16,AA28 SETB GATE6 AA28: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC7408_9_126_130_426: MOV INPUTS1,#01111110B MOV INPUTS2,#11111110B JB INP4,AA29 SETB GATE1 AA29: JB INP7,AA30 SETB GATE2 AA30: JB INP13,AA31 SETB GATE3 AA31: JB INP16,AA32 SETB GATE4 AA32: MOV INPUTS1,#01001000B MOV INPUTS2,#10010010B JNB INP4,AA33 SETB GATE1 AA33: JNB INP7,AA34 SETB GATE2 AA34: JNB INP13,AA35 SETB GATE3 AA35: JNB INP16,AA36 SETB GATE4 AA36: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC7410_12: MOV INPUTS1,#01111110B MOV INPUTS2,#11111110B JNB INP7,AA37 SETB GATE1 AA37: JNB INP7,AA38 SETB GATE2 AA38: JNB INP7,AA39 SETB GATE3 AA39: MOV INPUTS1,#01000000B MOV INPUTS2,#10001010B JB INP7,AA40 SETB GATE1 AA40: JB INP7,AA41 SETB GATE2 AA41: JB INP7,AA42 SETB GATE3 AA42: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC7411_15: MOV INPUTS1,#01111110B MOV INPUTS2,#11111110B JB INP7,AA412 SETB GATE1 AA412: JB INP12,AA43 SETB GATE2 AA43: JB INP16,AA44 SETB GATE3 AA44: MOV INPUTS1,#01000000B MOV INPUTS2,#10001010B JNB INP7,AA45 SETB GATE1 AA45: JNB INP12,AA46 SETB GATE2 AA46: JNB INP16,AA47 SETB GATE3 AA47: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC7413_18_20_22_40_140: MOV INPUTS1,#01110110B MOV INPUTS2,#11101110B JNB INP7,AA48 SETB GATE1 AA48: JNB INP16,AA49 SETB GATE2 AA49: MOV INPUTS1,#01000000B MOV INPUTS2,#10000010B JB INP7,AA50 SETB GATE1 AA50: JB INP16,AA51 SETB GATE2 AA51: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC7421: MOV INPUTS1,#01110110B MOV INPUTS2,#11101110B JB INP7,AA52 SETB GATE1 AA52: JB INP16,AA53 SETB GATE2 AA53: MOV INPUTS1,#01000000B MOV P1,#10000010B JNB INP7,AA54 SETB GATE1 AA54: JNB INP16,AA55 SETB GATE2 AA55: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC7427: MOV INPUTS1,#01111110B MOV INPUTS2,#11111110B JNB INP7,AA56 SETB GATE1 AA56: JNB INP12,AA57 SETB GATE2 AA57: JNB INP16,AA58 SETB GATE3 AA58: MOV INPUTS1,#01000000B MOV INPUTS2,#10001010B JB INP7,AA59 SETB GATE1 AA59: JB INP12,AA60 SETB GATE2 AA60: JB INP16,AA61 SETB GATE3 AA61: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC7430: MOV INPUTS1,#01111110B MOV P1,#10011010B JNB INP16,AA62 SETB GATE1 AA62: MOV INPUTS1,#00000000B MOV INPUTS2,#10000010B JB INP16,AA63 SETB GATE1 AA63: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC7407_17_34_35: MOV INPUTS1,#01111110B MOV INPUTS2,#11111110B JB INP3,BB1 SETB GATE1 BB1: JB INP5,BB2 SETB GATE2 BB2: JB INP7,BB3 SETB GATE3 BB3: JB INP12,BB4 SETB GATE4 BB4: JB INP14,BB5 SETB GATE5 BB5: JB INP16,BB6 SETB GATE6 BB6: MOV INPUTS1,#01010100B MOV INPUTS2,#10101010B JNB INP3,BB7 SETB GATE1 BB7: JNB INP5,BB8 SETB GATE2 BB8: JNB INP7,BB9 SETB GATE3 BB9: JNB INP12,BB10 SETB GATE4 BB10: JNB INP14,BB11 SETB GATE5 BB11: JNB INP16,BB12 SETB GATE6 BB12: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC7432_125_425: MOV INPUTS1,#01111110B MOV INPUTS2,#11111110B JB INP4,BB13 SETB GATE1 BB13: JB INP7,BB14 SETB GATE2 BB14: JB INP13,BB15 SETB GATE3 BB15: JB INP16,BB16 SETB GATE4 BB16: MOV INPUTS1,#01001000B MOV INPUTS2,#10010010B JNB INP4,BB17 SETB GATE1 BB17: JNB INP7,BB18 SETB GATE2 BB18: JNB INP13,BB19 SETB GATE3 BB19: JNB INP6,BB20 SETB GATE4 BB20: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC7436: MOV INPUTS1,#01111110B MOV INPUTS2,#11111110B JNB INP4,BB21 SETB GATE1 BB21: JNB INP7,BB22 SETB GATE2 BB22: JNB INP13,BB23 SETB GATE3 BB23: JNB INP16,BB24 SETB GATE4 BB24: MOV INPUTS1,#01001000B MOV INPUTS2,#10010010B JB INP4,BB25 SETB GATE1 BB25: JB INP7,BB26 SETB GATE2 BB26: JB INP13,BB27 SETB GATE3 BB27: JB INP16,BB28 SETB GATE4 BB28: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC7439: MOV INPUTS1,#01111110B MOV INPUTS2,#11111110B JNB INP2,BB29 SETB GATE1 BB29: JNB INP5,BB30 SETB GATE2 BB30: JNB INP11,BB31 SETB GATE3 BB31: JNB INP14,BB32 SETB GATE4 BB32: MOV INPUTS1,#00010010B MOV INPUTS2,#00100110B JB INP2,BB33 SETB GATE1 BB33: JB INP5,BB34 SETB GATE2 BB34: JB INP11,BB35 SETB GATE3 BB35: JB INP14,BB36 SETB GATE4 BB36: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC7454: MOV INPUTS1,#00111110B MOV INPUTS2,#11100110B JNB INP16,BB37 SETB GATE1 BB37: MOV INPUTS1,#00000000B MOV INPUTS2,#10000010B JB INP16,BB38 SETB GATE1 BB38: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC7464: MOV INPUTS1,#01111110B MOV INPUTS2,#11111110B JNB INP16,BB39 SETB GATE1 BB39: MOV INPUTS1,#00000000B MOV INPUTS2,#10000010B JB INP16,BB40 SETB GATE1 BB40: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC7470: MOV P0, #01000101B MOV P2,#11110110B NOP SETB INP12 JNB INP7,CA1 JB INP16,CA1 MOV P0,#01111100B MOV P2,#11101110B NOP SETB INP12 JB INP7,CA1 JNB INP16,CA1 SETB CHIP CA1: RET ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ IC7474: MOV P0, #01110110B MOV P2,#11101110B NOP SETB INP13 JNB INP7,CA2 JB INP6,CA2 SETB GATE1 CA2: JNB INP16,CA3 JB INP15,CA3 SETB GATE2 CA3: MOV P0, #01110010B MOV P2,#11100110B NOP SETB INP13 JNB INP6,CA5 JB INP7,CA5 SETB GATE1 CA4: JNB INP15,CA5 JB INP16,CA5 SETB GATE2 CA5: RET ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ IC7476: MOV P0, #11011110B MOV P2,#11100110B NOP SETB INP1 SETB INP6 JNB INP11,CA6 JB INP10,CA6 SETB GATE1 CA6: JB INP14,CA7 JNB INP15,CA7 SETB GATE2 CA7: MOV P0, #11010110B MOV P2,#01110111B NOP SETB INP1 SETB INP6 JB INP11,CA8 JNB INP10,CA8 SETB GATE1 CA8: JNB INP14,CA9 JB INP15,CA9 SETB GATE2 CA9: RET ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ IC7478: MOV P0,#01110000B MOV P1,#00000000B JNB INP5,CA10 JNB INP7,CA10 JB INP6,CA10 MOV P0,#01111000B MOV P1,#00000000B JNB INP5,CA10 JNB INP6,CA10 JB INP7,CA10 MOV P0,#01111000B MOV P1,#00000000B JB INP5,CA10 JNB INP6,CA10 JB INP7,CA10 SETB CHIP CA10: RET ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ IC7487: MOV P0,#01101100B MOV P1,#01101110B JB INP4,CA11 JB INP7,CA11 JB INP15,CA11 JB INP12,CA11 MOV P0,#01101110B MOV P1,#01101110B JNB INP4,CA11 JNB INP7,CA11 JNB INP15,CA11 JNB INP12,CA11 SETB CHIP CA11: RET ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ IC7489: MOV P0,#01111001B MOV P1,#11110101B MOV P0,#01111101B MOV P1,#11110101B JNB INP5,CA12 JNB INP7,CA12 JNB INP16,CA12 JNB INP14,CA12 SETB CHIP CA12: RET ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ IC7494: MOV P0,#00010000B MOV P1,#00000000B JB INP16,CA13 MOV P0,#00110000B MOV P1,#10001101B MOV P0,#00010000B MOV P1,#10000000B NOP SETB INP8 JNB INP16,CA13 SETB CHIP CA13: RET ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ IC7496: MOV P0,#00010000B MOV P1,#01101110B JB INP10,CA14 JB INP11,CA14 JB INP12,CA14 JB INP14,CA14 JB INP15,CA14 MOV P0,#00010000B MOV P1,#11101111B JNB INP10,CA14 JB INP11,CA14 JB INP12,CA14 JB INP14,CA14 JB INP15,CA14 SETB CHIP CA14: RET ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ IC7495: MOV P0,#01111100B MOV P1,#10111110B NOP CLR INP16 JNB INP11,CA15 JNB INP12,CA15 JNB INP13,CA15 JNB INP14,CA15 MOV P0,#00111100B MOV P1,#01111110B NOP CLR INP15 JB INP11,CA15 JNB INP12,CA15 JNB INP13,CA15 JNB INP14,CA15 SETB CHIP CA15: RET ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$4 IC7486: MOV INPUTS1,#01001000B MOV INPUTS2,#10010010B JNB INP4,BB41 SETB GATE1 BB41: JNB INP7,BB42 SETB GATE2 BB42: JNB INP13,BB43 SETB GATE3 BB43: JNB INP16,BB44 SETB GATE4 BB44: MOV INPUTS1,#01101100B MOV INPUTS2,#11011011B JB INP4,BB45 SETB GATE1 BB45: JB INP7,BB46 SETB GATE2 BB46: JB INP13,BB47 SETB GATE3 BB47: JB INP16,BB48 SETB GATE4 BB48: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74125_425: MOV INPUTS1,#01101010B MOV INPUTS2,#10110110B JB INP4,BB49 SETB GATE1 BB49: JB INP7,BB50 SETB GATE2 BB50: JB INP13,BB51 SETB GATE3 BB51: JB INP16,BB52 SETB GATE4 BB52: MOV INPUTS1,#01001000B MOV INPUTS2,#10010010B JNB INP4,BB53 SETB GATE1 BB53: JNB INP7,BB54 SETB GATE2 BB54: JNB INP13,BB55 SETB GATE3 BB55: JNB INP16,BB56 SETB GATE4 BB56: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74126_426: MOV INPUTS1,#01111110B MOV INPUTS2,#11111110B JB INP4,BB57 SETB GATE1 BB57: JB INP7,BB58 SETB GATE2 BB58: JB INP13,BB59 SETB GATE3 BB59: JB INP16,BB60 SETB GATE4 BB60: MOV INPUTS1,#01011010B MOV INPUTS2,#10110110B JNB INP4,BB61 SETB GATE1 BB61: JNB INP7,BB62 SETB GATE2 BB62: JNB INP13,BB63 SETB GATE3 BB63: JNB INP16,BB64 SETB GATE4 BB64: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74128: MOV INPUTS1,#01111110B MOV INPUTS2,#11111110B JNB INP2,BB65 SETB GATE1 BB65: JNB INP5,BB66 SETB GATE2 BB66: JNB INP11,BB67 SETB GATE3 BB67: JNB INP14,BB68 SETB GATE4 BB68: MOV INPUTS1,#00010010B MOV INPUTS2,#00100110B JB INP2,BB69 SETB GATE1 BB69: JB INP5,BB70 SETB GATE2 BB70: JB INP11,BB71 SETB GATE3 BB71: JB INP14,BB72 SETB GATE4 BB72: MOV INPUTS1,#00010010B MOV INPUTS2,#00100110B JB INP2,BB73 SETB GATE1 BB73: JB INP5,BB74 SETB GATE2 BB74: JB INP11,BB75 SETB GATE3 BB75: JB INP14,BB76 SETB GATE4 BB76: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74132: MOV INPUTS1,#01111110B MOV INPUTS2,#11111110B JNB INP4,BB77 SETB GATE1 BB77: JNB INP7,BB78 SETB GATE2 BB78: JNB INP13,BB79 SETB GATE3 BB79: JNB INP16,BB80 SETB GATE4 BB80: MOV INPUTS1,#01001000B MOV INPUTS2,#10010010B JB INP4,BB81 SETB GATE1 BB81: JB INP7,BB82 SETB GATE2 BB82: JB INP13,BB83 SETB GATE3 BB83: JB INP16,BB84 SETB GATE4 BB84: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74133: MOV INPUTS1,#01111111B MOV INPUTS2,#11111111B JNB INP16,BB85 SETB GATE1 BB85: MOV INPUTS1,#00000000B MOV INPUTS2,#10000001B JB INP16,BB86 SETB GATE1 BB86: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74134: MOV INPUTS1,#01111111B MOV INPUTS2,#11111101B JNB INP16,BB87 SETB GATE1 BB87: MOV INPUTS1,#00000000B MOV INPUTS2,#10000001B JB INP16,BB88 SETB GATE1 BB88: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74135: MOV INPUTS1,#01000100B MOV INPUTS2,#10001001B JNB INP4,BB89 SETB GATE1 BB89: JNB INP8,BB90 SETB GATE2 BB90: JNB INP12,BB91 SETB GATE3 BB91: JNB INP16,BB92 SETB GATE4 BB92: MOV INPUTS1,#01111111B MOV INPUTS2,#11111111B JB INP4,BB93 SETB GATE1 BB93: JB INP8,BB94 SETB GATE2 BB94: JB INP12,BB95 SETB GATE3 BB95: JB INP16,BB96 SETB GATE4 BB96: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74157_158: MOV INPUTS1,#01111111B MOV INPUTS2,#11111111B JNB INP4,BB97 SETB GATE1 BB97: JNB INP7,BB98 SETB GATE2 BB98: JNB INP13,BB99 SETB GATE3 BB99: JNB INP16,BB100 SETB GATE4 BB100: MOV INPUTS1,#01111110B MOV INPUTS2,#11111101B JB INP4,BB101 SETB GATE1 BB101: JB INP7,BB102 SETB GATE2 BB102: JB INP13,BB103 SETB GATE3 BB103: JB INP16,BB104 SETB GATE4 BB104: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC7442_45_145_445: MOV INPUTS1,#00000011B MOV INPUTS2,#00000001B JB INP1,BAB1 JNB INP2,BAB1 MOV INPUTS1,#00000110B MOV INPUTS2,#00000011B JB INP2,BAB1 JNB INP3,BAB1 MOV INPUTS1,#00001100B MOV INPUTS2,#00000101B JB INP3,BAB1 JNB INP4,BAB1 MOV INPUTS1,#00011000B MOV INPUTS2,#00000111B JB INP4,BAB1 JNB INP5,BAB1 MOV INPUTS1,#00110000B MOV INPUTS2,#00001001B JB INP5,BAB1 JNB INP6,BAB1 MOV INPUTS1,#01100000B MOV INPUTS2,#00001011B JB INP6,BAB1 JNB INP7,BAB1 MOV INPUTS1,#01000000B MOV INPUTS2,#10001101B JB INP7,BAB1 JNB INP16,BAB1 MOV INPUTS1,#00000000B MOV INPUTS2,#11001111B JB INP16,BAB1 JNB INP15,BAB1 MOV INPUTS1,#00000000B MOV INPUTS2,#01110001B JB INP15,BAB1 JNB INP14,BAB1 MOV INPUTS1,#00000000B MOV INPUTS2,#01110011B JB INP14,BAB1 JNB INP15,BAB1 SETB CHIP BAB1: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC7425: MOV INPUTS1,#01000000B MOV INPUTS2,#10000010B JB INP7,BAB4 SETB GATE1 BAB4: JB INP16,BAB5 SETB GATE2 BAB5: MOV INPUTS1,#01111110B MOV INPUTS2,#11111110B JNB INP7,BAB6 SETB GATE1 BAB6: JNB INP16,BAB7 SETB GATE2 BAB7: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC7443: MOV INPUTS1,#00000011B MOV INPUTS2,#00000111B JB INP1,BAB2 JNB INP2,BAB2 MOV INPUTS1,#00000110B MOV INPUTS2,#00001001B JB INP2,BAB2 JNB INP3,BAB2 MOV INPUTS1,#00001100B MOV INPUTS2,#00001011B JB INP3,BAB2 JNB INP4,BAB2 MOV INPUTS1,#00011000B MOV INPUTS2,#00001101B JB INP4,BAB2 JNB INP5,BAB2 MOV INPUTS1,#00110000B MOV INPUTS2,#00001111B JB INP5,BAB2 JNB INP6,BAB2 MOV INPUTS1,#01100000B MOV INPUTS2,#00010001B JB INP6,BAB2 JNB INP7,BAB2 MOV INPUTS1,#01000000B MOV INPUTS2,#10010001B JB INP7,BAB2 JNB INP16,BAB2 MOV INPUTS1,#00000000B MOV INPUTS2,#11010101B JB INP16,BAB2 JNB INP15,BAB2 MOV INPUTS1,#00000000B MOV INPUTS2,#01110111B JB INP15,BAB2 JNB INP14,BAB2 MOV INPUTS1,#00000001B MOV INPUTS2,#00011001B JB INP14,BAB2 JNB INP1,BAB2 SETB CHIP BAB2: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC7444: MOV INPUTS1,#00000011B MOV INPUTS2,#00000111B JB INP1,BAB3 JNB INP2,BAB3 MOV INPUTS1,#00000110B MOV INPUTS2,#00001101B JB INP2,BAB3 JNB INP3,BAB3 MOV INPUTS1,#00001100B MOV INPUTS2,#00001111B JB INP3,BAB3 JNB INP4,BAB3 MOV INPUTS1,#00011000B MOV INPUTS2,#00001011B JB INP4,BAB3 JNB INP5,BAB3 MOV INPUTS1,#00110000B MOV INPUTS2,#00001001B JB INP5,BAB3 JNB INP6,BAB3 MOV INPUTS1,#01100000B MOV INPUTS2,#00011001B JB INP6,BAB3 JNB INP7,BAB3 MOV INPUTS1,#01000000B MOV INPUTS2,#10011011B JB INP7,BAB3 JNB INP16,BAB3 MOV INPUTS1,#00000000B MOV INPUTS2,#11011111B JB INP16,BAB3 JNB INP15,BAB3 MOV INPUTS1,#00000000B MOV INPUTS2,#01111101B JB INP15,BAB3 JNB INP14,BAB3 MOV INPUTS1,#00000001B MOV INPUTS2,#00011001B JB INP14,BAB3 JNB INP1,BAB3 SETB CHIP BAB3: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC7447_46_48_248_247_447: MOV INPUTS1,#00011100B MOV INPUTS2,#11111111B JNB INP11,BAB8 JB INP10,BAB8 JB INP12,BAB8 JB INP13,BAB8 JB INP14,BAB8 JB INP15,BAB8 MOV INPUTS1,#0101100B MOV INPUTS2,#11111111B JB INP13,BAB8 JB INP14,BAB8 JNB INP10,BAB8 JNB INP11,BAB8 JNB INP12,BAB8 JNB INP15,BAB8 JNB INP16,BAB8 SETB CHIP BAB8: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74147: MOV P0,#01111111B MOV P2,#11111111B JNB INP7,DD11 JNB INP6,DD11 JNB INP11,DD11 JNB INP16,DD11 MOV P0,#01100000B MOV P2,#10000101B JNB INP7,DD11 JNB INP6,DD11 JB INP11,DD11 JB INP16,DD11 SETB CHIP DD11: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74148: MOV P0,#01101111B MOV P2,#11111111B JNB INP6,DD12 JNB INP7,DD12 JB INP10,DD12 JNB INP11,DD12 JNB INP16,DD12 MOV P0,#01100000B MOV P2,#10000111B JB INP6,DD12 JB INP7,DD12 JNB INP10,DD12 JB INP11,DD12 JB INP16,DD12 SETB CHIP DD12: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74151: MOV P0,#00111000B MOV P2,#00000001B JNB INP5,DD13 JB INP6,DD13 MOV P0,#00110000B MOV P2,#11100001B JB INP5,DD13 JNB INP6,DD13 SETB CHIP DD13: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74152: MOV P0,#01100000B MOV P2,#00000010B JB INP7,DD14 MOV P0,#01000000B MOV P2,#11100010B JNB INP7,DD14 SETB CHIP DD14: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74153: MOV P0,#01100000B MOV P2,#11000001B JB INP7,DD15 SETB GATE1 DD15: JB INP16,DD16 SETB GATE2 DD16: MOV P0,#01000010B MOV P2,#10000001B JNB INP7,DD17 SETB GATE1 DD17: JNB INP16,DD18 SETB GATE2 DD18: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74155_156: MOV P0,#01000000B MOV P2,#10000001B JB INP16,DD19 JB INP7,DD19 MOV P0,#00001100B MOV P2,#00011001B JB INP4,DD19 JB INP13,DD19 SETB CHIP DD19: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@ IC74160: MOV P0,#00000000B MOV P2,#00111111B JB INP11,DD20 JB INP12,DD20 JB INP13,DD20 JB INP14,DD20 JB INP10,DD20 MOV P0,#01000001B MOV P2,#11111111B NOP SETB INP2 JNB INP10,DD20 JNB INP11,DD20 JB INP12,DD20 JB INP13,DD20 JNB INP14,DD20 SETB CHIP DD20: RET ;@@@@@@@@@@@@@@@@@@@@@@@ IC74161_163: MOV P0,#00000000B MOV P2,#00111111B JB INP11,DD21 JB INP12,DD21 JB INP13,DD21 JB INP14,DD21 JB INP10,DD21 MOV P0,#01000001B MOV P2,#11111111B NOP SETB INP2 JNB INP11,DD21 JNB INP12,DD21 JNB INP13,DD21 JNB INP14,DD21 JNB INP10,DD21 SETB CHIP DD21: RET ;@@@@@@@@@@@@@@@@@@@@@@@ IC74164: MOV P0,#00011000B MOV P2,#00000010B JB INP4,DD22 JB INP5,DD22 MOV P0,#00011110B MOV P2,#01000010B NOP SETB INP16 JNB INP4,DD22 SETB CHIP DD22: RET ;@@@@@@@@@@@@@@@@@@@@@@@ IC74165: MOV P0,#00100000B MOV P2,#10000001B JNB INP16,DD23 SETB CHIP DD23: RET ;@@@@@@@@@@@@@@@@@@@@@@@ IC74166: MOV P0,#00000000B MOV P2,#00001101B JB INP13,DD24 SETB CHIP DD24: RET ;@@@@@@@@@@@@@@@@@@@@@@@ IC74171: MOV P0,#01111111B MOV P2,#11101111B NOP SETB INP13 JNB INP1,EE1 JB INP10,EE1 SETB GATE1 EE1: JNB INP2,EE2 JB INP3,EE2 SETB GATE2 EE2: JB INP6,EE3 JNB INP7,EE3 SETB GATE3 EE3: JB INP15,EE4 JNB INP16,EE1 SETB GATE4 EE4: MOV P0,#01100111B MOV P2,#11001111B NOP SETB INP13 JB INP1,EE5 JNB INP10,EE5 SETB GATE1 EE5: JB INP2,EE6 JNB INP3,EE6 SETB GATE2 EE6: JNB INP6,EE7 JB INP7,EE7 SETB GATE3 EE7: JNB INP15,EE8 JB INP16,EE8 SETB GATE4 EE8: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74173: MOV P0,#00111100B MOV P2,#00000001B NOP SETB INP7 JB INP3,EE9 JB INP5,EE9 JB INP6,EE9 JB INP4,EE9 MOV P0,#00111100B MOV P2,#00111101B NOP SETB INP7 JNB INP3,EE9 JNB INP4,EE9 JNB INP5,EE9 JNB INP6,EE9 SETB CHIP EE9: RET ;@@@@@@@@@@@@@@@@@@@@@@@ IC74174: MOV P0,#01111111B MOV P2,#01111111B NOP SETB INP16 JB INP2,EE10 SETB GATE1 EE10: JB INP5,EE11 SETB GATE2 EE11: JB INP7,EE12 SETB GATE3 EE12: JB INP15,EE13 SETB GATE4 EE13: JB INP13,EE14 SETB GATE5 EE14: JB INP10,EE15 SETB GATE6 EE15: MOV P0,#01010011B MOV P2,#01010011B NOP SETB INP16 JNB INP2,EE16 SETB GATE1 EE16: JNB INP5,EE17 SETB GATE2 EE17: JNB INP7,EE18 SETB GATE3 EE18: JNB INP15,EE19 SETB GATE4 EE19: JNB INP13,EE20 SETB GATE5 EE20: JNB INP10,EE21 SETB GATE6 EE21: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@2 IC74175: MOV P0,#01111111B MOV P2,#01111111B NOP SETB INP16 JB INP2,EE22 JNB INP3,EE22 SETB GATE1 EE22: JB INP7,EE23 JNB INP6,EE23 SETB GATE2 EE23: JB INP15,EE24 JNB INP14,EE24 SETB GATE3 EE24: JB INP10,EE25 JNB INP11,EE25 SETB GATE4 EE25: MOV P0,#01100111B MOV P2,#01100111B NOP SETB INP16 JNB INP2,EE26 JB INP3,EE26 SETB GATE1 EE26: JNB INP7,EE27 JB INP6,EE27 SETB GATE2 EE27: JNB INP15,EE28 JB INP14,EE28 SETB GATE3 EE28: JNB INP15,EE29 JB INP11,EE29 SETB GATE4 EE29: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@2 IC74176_77: MOV P0,#00100100B MOV P2,#01001010B JB INP3,EE30 JB INP6,EE30 JB INP15,EE30 JB INP12,EE30 MOV P0,#00111100B MOV P2,#01111110B JNB INP3,EE30 JNB INP7,EE30 JNB INP12,EE30 JNB INP15,EE30 SETB CHIP EE30: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74180: MOV P0,#01111000B MOV P2,#00000010B JB INP6,EE31 JB INP7,EE31 MOV P0,#01100000B MOV P2,#00000010B JNB INP6,EE31 JNB INP7,EE31 SETB CHIP EE31: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74182: MOV P0,#01000000B MOV P2,#11110001B JNB INP13,EE32 JB INP7,EE32 JNB INP14,EE32 JNB INP16,EE32 JB INP15,EE32 MOV P0,#01111111B MOV P2,#11111111B JB INP13,EE32 JNB INP7,EE32 JB INP14,EE32 JB INP16,EE32 JNB INP15,EE32 SETB CHIP EE32: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74190_191: MOV P0,#01100110B MOV P2,#00111001B NOP SETB INP11 JB INP2,EE33 JB INP3,EE33 JB INP6,EE33 JB INP7,EE33 JB INP13,EE33 JB INP12,EE33 SETB CHIP EE33: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74192_193: MOV P0,#01100110B MOV P2,#00011101B JB INP2,EE34 JB INP3,EE34 JB INP6,EE34 JB INP7,EE34 JNB INP12,EE34 JNB INP13,EE34 MOV P0,#01110110B MOV P2,#00111001B NOP SETB INP4 JB INP2,EE34 JNB INP3,EE34 JB INP6,EE34 JNB INP7,EE34 JNB INP12,EE34 JNB INP13,EE34 SETB CHIP EE34: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74194: MOV P0,#00111101B MOV P2,#11011111B NOP SETB INP14 JNB INP10,EE35 JNB INP11,EE35 JNB INP12,EE35 JNB INP13,EE35 MOV P0,#00000000B MOV P2,#00011111B JB INP10,EE35 JB INP11,EE35 JB INP12,EE35 JB INP13,EE35 SETB CHIP EE35: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74195: MOV P0,#01111001B MOV P2,#00111111B NOP SETB INP15 JNB INP10,EE36 JNB INP11,EE36 JNB INP12,EE36 JNB INP13,EE36 JB INP14,EE36 MOV P0,#00000001B MOV P2,#10111111B JNB INP10,EE36 JNB INP11,EE36 JNB INP12,EE36 JNB INP13,EE36 JNB INP14,EE36 SETB CHIP EE36: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74197: MOV P0,#00111100B MOV P2,#01111010B JB INP3,EE37 JB INP6,EE37 JB INP12,EE37 JB INP15,EE37 MOV P0,#01111100B MOV P2,#01111110B JNB INP3,EE37 JNB INP6,EE37 JNB INP12,EE37 JNB INP15,EE37 SETB CHIP EE37: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74242: MOV P0,#01111010B MOV P2,#11110110B JB INP4,EE38 JB INP5,EE38 JB INP6,EE38 JB INP7,EE38 MOV P0,#00000000B MOV P2,#11110010B JNB INP13,EE38 JNB INP14,EE38 JNB INP15,EE38 JNB INP16,EE38 SETB CHIP EE38: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74243: MOV P0,#01111010B MOV P2,#11110110B JNB INP4,EE39 JNB INP5,EE39 JNB INP6,EE39 JNB INP2,EE39 MOV P0,#00000000B MOV P2,#11110010B JB INP3,EE39 JB INP14,EE39 JB INP15,EE39 JB INP16,EE39 SETB CHIP EE39: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74251: MOV P0,#00110000B MOV P2,#00000001B JB INP5,EE40 JNB INP6,EE40 MOV P0,#00111111B MOV P2,#11111111B JNB INP5,EE40 JB INP6,EE40 SETB CHIP EE40: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74253: MOV P0,#01000000B MOV P2,#10000001B JNB INP7,EE41 SETB GATE1 EE41: JNB INP16,EE42 SETB GATE2 EE42: MOV P0,#01111110B MOV P2,#11111001B JB INP7,EE43 SETB GATE1 EE43: JB INP16,EE44 SETB GATE2 EE44: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74256: MOV P0,#01111000B MOV P2,#11110101B JNB INP4,EE45 JNB INP5,EE45 JNB INP6,EE45 JNB INP7,EE45 SETB GATE1 EE45: JNB INP13,EE46 JNB INP14,EE46 JNB INP15,EE46 JNB INP16,EE46 SETB GATE2 EE46: MOV P0,#01111111B MOV P2,#11111001B JNB INP4,EE47 JNB INP5,EE47 JNB INP6,EE47 JB INP7,EE47 SETB GATE1 EE47: JNB INP13,EE48 JNB INP14,EE48 JNB INP15,EE48 JNB INP16,EE48 EE48: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74257: MOV P0,#01001000B MOV P2,#10010001B JNB INP4,EE49 SETB GATE1 EE49: JNB INP7,EE50 SETB GATE2 EE50: JNB INP3,EE51 SETB GATE3 EE51: JNB INP16,EE52 SETB GATE4 EE52: MOV P0,#01111111B MOV P2,#11111101B JB INP4,EE53 SETB GATE1 EE53: JB INP7,EE54 SETB GATE2 EE54: JB INP3,EE55 SETB GATE3 EE55: JB INP16,EEA56 SETB GATE4 EEA56: RET ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$4 IC74107: MOV P0,#01111100B MOV P1,#10110110B NOP SETB INP12 SETB INP15 JB INP3,HH40 JNB INP4,HH40 SETB GATE1 HH40: JNB INP6,HH41 JB INP7,HH41 SETB GATE2 HH41: MOV P0,#01101110B MOV P1,#10110110B NOP SETB INP12 SETB INP15 JNB INP3,HH42 JB INP4,HH42 SETB GATE1 HH42: JB INP6,HH43 JNB INP7,HH43 SETB GATE2 HH43: RET ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ IC74108: MOV P0,#01101110B MOV P1,#11101110B NOP SETB INP15 JNB INP3,HH44 JB INP4,HH44 SETB GATE1 HH44: JNB INP7,HH45 JB INP6,HH45 SETB GATE2 HH45: MOV P0,#01111100B MOV P1,#01111110B NOP SETB INP15 JB INP3,HH46 JNB INP4,HH46 SETB GATE1 HH46: JB INP7,HH47 JNB INP6,HH47 SETB GATE2 HH47:RET ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ IC74109: MOV P0,#01110001B MOV P1,#11101011B NOP SETB INP4 SETB INP13 JNB INP6,HH48 JB INP7,HH48 SETB GATE1 HH48: JNB INP15,HH49 JB INP16,HH49 SETB GATE2 HH49: MOV P0,#01110111B MOV P1,#11101111B NOP SETB INP4 SETB INP13 JB INP6,HH50 JNB INP7,HH50 SETB GATE1 HH50: JB INP15,HH51 JNB INP16,HH51 SETB GATE2 HH51: RET ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ IC74112: MOV P0,#01111011B MOV P1,#11011111B NOP SETB INP1 SETB INP12 JNB INP5,HH52 JB INP6,HH52 SETB GATE1 HH52: JNB INP16,HH53 JB INP7,HH53 SETB GATE2 HH53: MOV P0,#01111101B MOV P1,#11101111B NOP SETB INP1 SETB INP12 JB INP5,HH54 JNB INP6,HH54 SETB GATE1 HH54: JB INP16,HH55 JNB INP7,HH55 SETB GATE2 HH55: RET ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ IC7480: MOV P0,#01110000B MOV P2,#00000010B JB INP6,EE56 JNB INP7,EE56 JNB INP5,EE56 MOV P0,#01111110B MOV P2,#00110010B JB INP5,EE56 JNB INP6,EE56 JB INP7,EE56 MOV P0,#01111000B MOV P2,#00000010B JNB INP5,EE56 JNB INP6,EE56 JB INP7,EE56 SETB CHIP EE56: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC7477: MOV P0,#00011000B MOV P2,11001110B JNB INP9,AD1 SETB GATE1 AD1: JNB INP10,AD2 SETB GATE2 AD2: JNB INP16,AD3 SETB GATE3 AD3: JNB INP15,AD4 SETB GATE4 AD4: MOV P0,#01111110B MOV P2,11001110B JB INP9,AD5 SETB GATE1 AD5: JB INP10,AD6 SETB GATE2 AD6: JB INP16,AD7 SETB GATE3 AD7: JB INP15,AD8 SETB GATE4 AD8: RET ;@@@@@@@@@@@@@@@@@@@@@ IC7482: MOV P0,#00010010B MOV P2,#00101000B JB INP2,AD9 JB INP12,AD9 JB INP14,AD9 MOV P0,#00110010B MOV P2,#00101000B JNB INP2,AD9 JB INP12,AD9 JB INP14,AD9 MOV P0,#00011110B MOV P2,#00101110B JB INP2,AD9 JNB INP12,AD9 JNB INP14,AD9 MOV P0,#00111110B MOV P2,#00101110B JNB INP2,AD9 JNB INP12,AD9 JNB INP14,AD9 SETB CHIP AD9: RET ;@@@@@@@@@@@@@@@@@@@@ IC7483: MOV P0,#00110010B MOV P2,#10000010B JB INP2,AD10 JB INP6,AD10 JB INP16,AD10 JB INP10,AD10 MOV P0,#00110010B MOV P2,#10000010B JNB INP2,AD10 JNB INP16,AD10 JB INP6,AD10 JB INP10,AD10 MOV P0,#11111111B MOV P2,#11101111B JB INP2,AD10 JB INP16,AD10 JNB INP6,AD10 JNB INP10,AD10 MOV P0,#11111111B MOV P2,#11101111B JNB INP2,AD10 JNB INP16,AD10 JNB INP6,AD10 JNB INP10,AD10 SETB CHIP AD10: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@ ;@@@@@@@@@@@@@@@@@ IC74103: MOV P0,#01111110B MOV P2,#11101100B NOP SETB INP2 SETB INP6 JB INP10,AD13 JNB INP11,AD13 SETB GATE1 AD13: JB INP16,AD14 JNB INP15,AD14 SETB GATE2 AD14: MOV P0,#11110110B MOV P2,#11001110B NOP SETB INP2 SETB INP6 JNB INP10,AD15 JB INP11,AD15 SETB GATE1 AD15: JNB INP16,AD16 JB INP15,AD16 SETB GATE2 AD16: RET ;@@@@@@@@@@@@@@@@@@ IC74137: MOV P0,#00100000B MOV P2,#00000111B JB INP10,AD17 JNB INP11,AD17 MOV P0,#00100001B MOV P2,#00001101B JB INP11,AD17 JNB INP12,AD17 SETB CHIP AD17: RET ;@@@@@@@@@@@@@@@@@@@@@@ IC74113: MOV P0,#01110110B MOV P2,#11101110B NOP SETB INP2 SETB INP11 JNB INP5,AD18 JB INP6,AD18 SETB GATE1 AD18: JNB INP15,AD19 JB INP16,AD19 SETB GATE2 AD19: MOV P0,#01111010B MOV P2,#11110110B NOP SETB INP2 SETB INP11 JB INP5,AD20 JNB INP6,AD20 SETB GATE1 AD20: JB INP15,AD21 JNB INP16,AD21 SETB GATE2 AD21: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74138: MOV P0,#00100000B MOV P2,#00000111B JB INP10,AD22 JNB INP11,AD22 MOV P0,#00100001B MOV P2,#00001101B JB INP11,AD22 JNB INP12,AD22 AD22: RET ;@@@@@@@@@@@@@@@@@@@@ IC74139: MOV P0,#00011000B MOV P2,#00110001B JNB INP4,AD23 JB INP5,AD23 SETB GATE1 AD23: JNB INP13,AD24 JB INP14,AD24 SETB GATE2 AD24: MOV P0,#01001110B MOV P2,#10011101B JNB INP7,AD25 JB INP4,AD25 SETB GATE1 AD25: JNB INP16,AD26 JB INP13,AD26 SETB GATE2 AD26: RET ;@@@@@@@@@@@@@@ IC74258: MOV P0,#01001000B MOV P2,#10010001B JB INP4,CC1 SETB GATE1 CC1: JB INP7,CC2 SETB GATE2 CC2: JB INP3,CC3 SETB GATE3 CC3: JB INP16,CC4 SETB GATE4 CC4: MOV P0,#01111111B MOV P2,#11111101B JNB INP4,CC5 SETB GATE1 CC5: JNB INP7,CC6 SETB GATE2 CC6: JNB INP13,CC7 SETB GATE3 CC7: JNB INP16,CC8 SETB GATE4 CC8: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74259: MOV P0,#01111000B MOV P2,#11110001B JNB INP4,CAC9 JB INP5,CAC9 MOV P0,#01111111B MOV P2,#11110001B JNB INP13,CAC9 JB INP14,CAC9 SETB CHIP CAC9: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74260: MOV P0,#01111110B MOV P2,#11111110B JNB INP6,CC10 SETB GATE1 CC10: JNB INP7,CC11 SETB GATE2 CC11: MOV P0,#01100000B MOV P2,#00000010B JB INP6,CC12 SETB GATE1 CC12: JB INP7,CC13 SETB GATE2 CC13: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74266: MOV P0,#00011000B MOV P2,#00110010B JB INP4,CC14 SETB GATE1 CC14: JB INP5,CC15 SETB GATE2 CC15: JB INP14,CC16 SETB GATE3 CC16: JB INP13,CC17 SETB GATE4 CC17: MOV P0,#01011010B MOV P2,#10110110B JNB INP4,CC18 SETB GATE1 CC18: JNB INP5,CC19 SETB GATE2 CC19: JNB INP14,CC20 SETB GATE3 CC20: JNB INP13,CC21 SETB GATE4 CC21: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74279: MOV P0,#01011001B MOV P2,#11001101B JNB INP4,CC22 SETB GATE1 CC22: JNB INP7,CC23 SETB GATE2 CC23: JNB INP12,CC24 SETB GATE3 CC24: JNB INP16,CC25 SETB GATE4 CC25: MOV P0,#01001000B MOV P2,#10001001B JB INP4,CC26 SETB GATE1 CC26: JB INP7,CC27 SETB GATE2 CC27: JB INP12,CC28 SETB GATE3 CC28: JB INP16,CC29 SETB GATE4 CC29: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74280: MOV P0,#01110110B MOV P2,#11111110B JNB INP6,CC30 JB INP7,CC30 MOV P0,#01100110B MOV P2,#11111110B JB INP6,CC30 JNB INP7,CC30 SETB CHIP CC30: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74283: MOV P0,#00001001B MOV P2,#11001001B JB INP1,CC31 JB INP4,CC31 JB INP16,CC31 JB INP15,CC31 JB INP12,CC31 MOV P0,#01001001B MOV P2,#11001001B JB INP1,CC31 JNB INP4,CC31 JB INP16,CC31 JB INP15,CC31 JNB INP12,CC31 MOV P0,#00111111B MOV P2,#11111111B JNB INP1,CC31 JB INP4,CC31 JNB INP16,CC31 JNB INP15,CC31 JB INP12,CC31 MOV P0,#01111111B MOV P2,#11111111B JNB INP1,CC31 JNB INP4,CC31 JNB INP16,CC31 JNB INP15,CC31 JNB INP12,CC31 SETB CHIP CC31: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74290: MOV P0,#00110000B MOV P2,#11001110B JB INP15,CC32 JB INP16,CC32 JB INP5,CC32 JB INP6,CC32 MOV P0,#00111010B MOV P2,#11000010B JNB INP16,CC32 JNB INP15,CC32 JB INP5,CC32 JB INP6,CC32 SETB CHIP CC32: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74350: MOV P0,#01111000B MOV P2,#00110111B JNB INP10,CC36 JNB INP11,CC36 MOV P0,#00000010B MOV P2,#00110111B JB INP10,CC36 JNB INP11,CC36 SETB CHIP CC36: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74352_353: MOV P0,#01000000B MOV P2,#10000001B JB INP7,CC37 SETB GATE1 CC37: JB INP16,CC38 SETB GATE2 MOV P0,#01000010B MOV P2,#10000101B JB INP7,CC38 SETB GATE1 CC38: JB INP16,CC39 SETB GATE2 SETB CHIP CC39: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74365: MOV P0,#01010100B MOV P2,#10101001B JNB INP3,CC40 SETB GATE1 CC40: JNB INP5,CC41 SETB GATE2 CC41: JNB INP7,CC42 SETB GATE3 CC42: JNB INP16,CC43 SETB GATE4 CC43: JNB INP14,CC44 SETB GATE5 CC44: JNB INP12,CC45 SETB GATE6 CC45: MOV P0,#01111110B MOV P2,#11111101B JB INP3,CC46 SETB GATE1 CC46: JB INP5,CC47 SETB GATE2 CC47: JB INP7,CC48 SETB GATE3 CC48: JB INP16,CC49 SETB GATE4 CC49: JB INP14,CC50 SETB GATE5 CC50: JB INP12,CC51 SETB GATE6 CC51: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74366_368: MOV P0,#01010100B MOV P2,#10101001B JB INP3,CC52 SETB GATE1 CC52: JB INP5,CC53 SETB GATE2 CC53: JB INP7,CC54 SETB GATE3 CC54: JB INP16,CC55 SETB GATE4 CC55: JB INP14,CC56 SETB GATE5 CC56: JB INP12,CC57 SETB GATE6 CC57: MOV P0,#01111110B MOV P2,#11111101B JNB INP3,CC58 SETB GATE1 CC58: JNB INP5,CC59 SETB GATE2 CC59: JNB INP7,CC60 SETB GATE3 CC60: JNB INP16,CC61 SETB GATE4 CC61: JNB INP14,CC62 SETB GATE5 CC62: JNB INP12,CC63 SETB GATE6 CC63: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74367: MOV P0,#01010100B MOV P2,#10101001B JNB INP3,CC64 SETB GATE1 CC64: JNB INP5,CC65 SETB GATE2 CC65: JNB INP7,CC66 SETB GATE3 CC66: JNB INP16,CC67 SETB GATE4 CC67: JNB INP14,CC68 SETB GATE5 CC68: JNB INP12,CC69 SETB GATE6 CC69: MOV P0,#01111110B MOV P2,#11111101B JB INP3,CC70 SETB GATE1 CC70: JB INP5,CC71 SETB GATE2 CC71: JB INP7,CC72 SETB GATE3 CC72: JB INP16,CC73 SETB GATE4 CC73: JB INP14,CC74 SETB GATE5 CC74: JB INP12,CC75 SETB GATE6 CC75: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74375: MOV P0,#00111110B MOV P2,#01111101B JB INP2,CC76 JNB INP3,CC76 SETB GATE1 CC76: JB INP6,CC77 JNB INP5,CC77 SETB GATE2 CC77: JB INP11,CC78 JNB INP12,CC78 SETB GATE3 CC78: JB INP15,CC79 JNB INP14,CC79 SETB GATE4 CC79: MOV P0,#01111111B MOV P2,#11111111B JNB INP2,CC80 JB INP3,CC80 SETB GATE1 CC80: JNB INP6,CC81 JB INP5,CC81 SETB GATE2 CC81: JNB INP11,CC82 JB INP12,CC82 SETB GATE3 CC82: JNB INP15,CC83 JB INP14,CC83 SETB GATE4 CC83: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74378: MOV P0,#01010010B MOV P2,#01010011B NOP SETB INP16 JNB INP2,CC84 SETB GATE1 CC84: JNB INP5,CC85 SETB GATE2 CC85: JNB INP7,CC86 SETB GATE3 CC86: JNB INP15,CC87 SETB GATE4 CC87: JNB INP13,CC88 SETB GATE5 CC88: JNB INP10,CC89 SETB GATE6 CC89: MOV P0,#01111110B MOV P2,#01111111B NOP SETB INP16 JB INP2,CC90 SETB GATE1 CC90: JB INP5,CC91 SETB GATE2 CC91: JB INP7,CC92 SETB GATE3 CC92: JB INP15,CC93 SETB GATE4 CC93: JB INP13,CC94 SETB GATE5 CC94: JB INP10,CC95 SETB GATE6 CC95: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74379: MOV P0,#01100110B MOV P2,#01100111B NOP SETB INP16 JNB INP2,CC96 JB INP3,CC96 SETB GATE1 CC96: JNB INP7,CC97 JB INP6,CC97 SETB GATE2 CC97: JNB INP15,CC98 JB INP14,CC98 SETB GATE3 CC98: JNB INP10,CC99 JB INP9,CC99 SETB GATE4 CC99: MOV P0,#01111110B MOV P2,#01111111B NOP SETB INP16 JB INP2,CC100 JNB INP3,CC100 SETB GATE1 CC100: JB INP7,CC101 JNB INP6,CC101 SETB GATE2 CC101: JB INP15,CC102 JNB INP14,CC102 SETB GATE3 CC102: JB INP10,CC103 JNB INP9,CC103 SETB GATE4 CC103: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74390: MOV P0,#01110100B MOV P2,#11101001B JNB INP3,CC104 JNB INP5,CC104 JNB INP6,CC104 JNB INP7,CC104 SETB GATE1 CC104: JNB INP16,CC105 JNB INP15,CC105 JNB INP14,CC105 JNB INP12,CC105 SETB GATE2 CC105: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74393: MOV P0,#01111000B MOV P2,#11110010B JNB INP4,CC106 JNB INP5,CC106 JNB INP6,CC106 JNB INP7,CC106 SETB GATE1 CC106: JNB INP16,CC107 JNB INP15,CC107 JNB INP14,CC107 JNB INP13,CC107 SETB GATE2 CC107: MOV P0,#01111000B MOV P2,#11110010B NOP SETB INP2 SETB INP11 NOP SETB INP2 SETB INP11 JB INP4,CC108 JNB INP5,CC108 JNB INP6,CC108 JNB INP7,CC108 SETB GATE1 CC108: JB INP13,CC109 JNB INP16,CC109 JNB INP15,CC109 JNB INP14,CC109 SETB GATE2 CC109: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74490: MOV P0,#01110110B MOV P2,#11101101B JNB INP3,CC112 JNB INP5,CC112 JNB INP6,CC112 JNB INP7,CC112 SETB GATE1 CC112: JNB INP12,CC113 JNB INP14,CC113 JNB INP15,CC113 JNB INP16,CC113 SETB GATE2 CC113: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74670: MOV P0,#01100111B MOV P2,#11100011B MOV P0,#01100111B MOV P2,#11010011B JNB INP6,CC114 JNB INP7,CC114 JNB INP16,CC114 JNB INP15,CC114 SETB CHIP CC114: RET ;@@@@@@@@@@@@@@@@@@@@@@@ IC7472: MOV INPUTS1,#01000100B MOV INPUTS2,#11110110B NOP SETB INP12 NOP CLR INP12 JNB INP7,CC9 JB INP16,CC9 MOV INPUTS1,#01111100B MOV INPUTS2,#10000110B NOP SETB INP12 NOP CLR INP12 JNB INP16,CC9 JB INP7,CC9 SETB CHIP CC9: RET IC74101: MOV P0,#01100000B MOV P2,#11111110B NOP CLR INP11 JB INP7,AD11 JNB INP16,AD11 MOV P0,#01111110B MOV P2,#10000110B NOP CLR INP11 JNB INP7,AD11 JB INP16,AD11 SETB CHIP AD11: RET ;@@@@@@@@@@@@@@@@ IC74102: MOV P0,#01000100B MOV P2,#11111110B NOP CLR INP12 JB INP16,AD12 JNB INP6,AD12 MOV P0,#01111100B MOV P2,#10001110B NOP CLR INP12 JNB INP16,AD12 JB INP6,AD12 SETB CHIP AD12: RET IC74293: MOV P0,#00110000B MOV P2,#11001110B JB INP5,CC33 JB INP6,CC33 JB INP16,CC33 JB INP15,CC33 MOV P0,#00110000B MOV P2,#11000110B NOP SETB INP14 NOP CLR INP14 JNB INP15,CC33 JB INP5,CC33 JB INP6,CC33 JB INP16,CC33 SETB CHIP CC33: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74295: MOV P0,#01111100B MOV P2,#11111110B NOP CLR INP15 JNB INP11,CC34 JNB INP12,CC34 JNB INP13,CC34 JNB INP14,CC34 MOV P0,#00000000B MOV P2,#11111110B JNB INP11,CC34 JNB INP12,CC34 JNB INP13,CC34 JNB INP14,CC34 SETB CHIP CC34: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IC74298: MOV P0,#01001100B MOV P2,#10111111B NOP CLR INP14 JNB INP10,CC35 JNB INP11,CC35 JNB INP12,CC35 JNB INP13,CC35 MOV P0,#00000000B MOV P2,#00111111B JNB INP10,CC35 JNB INP11,CC35 JNB INP12,CC35 JNB INP13,CC35 SETB CHIP CC35: RET IC74395: MOV P0,#01111111B MOV P2,#11111111B NOP CLR INP15 JNB INP10,CC110 JNB INP11,CC110 JNB INP12,CC110 JNB INP13,CC110 CC110: MOV P0,#00000000B MOV P2,#11011111B JNB INP10,CC111 JNB INP11,CC111 JNB INP12,CC111 JNB INP13,CC111 SETB CHIP CC111: RET ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@2 ;********************************************************** ; INITIALIZE THE LCD 4-BIT MODE ;********************************************************** INITLCD4: CLR LCD_RS ; LCD REGISTER SELECT LINE CLR LCD_E ; ENABLE LINE MOV R4, #CONFIG; FUNCTION SET - DATA BITS, ; LINES, FONTS CALL WRLCDCOM4 MOV R4, #ONDSP ; DISPLAY ON CALL WRLCDCOM4 MOV R4, #ENTRYMODE ; SET ENTRY MODE CALL WRLCDCOM4 ; INCREMENT CURSOR RIGHT, NO SHIFT MOV R4, #CLRDSP; CLEAR DISPLAY, HOME CURSOR CALL WRLCDCOM4 RET ; ********************************************************** ; SOFTWARE VERSION OF THE POWER ON RESET ; ********************************************************** RESETLCD4: CLR LCD_RS ; LCD REGISTER SELECT LINE CLR LCD_E ; ENABLE LINE CLR LCD_DB7 ; SET BIT PATTERN FOR... CLR LCD_DB6 ; ... POWER-ON-RESET SETB LCD_DB5 SETB LCD_DB4 SETB LCD_E ; START ENABLE PULSE CLR LCD_E ; END ENABLE PULSE MOV A, #4 ; DELAY 4 MILLISECONDS CALL MDELAY SETB LCD_E ; START ENABLE PULSE CLR LCD_E ; END ENABLE PULSE MOV A, #1 ; DELAY 1 MILLISECOND CALL MDELAY SETB LCD_E ; START ENABLE PULSE CLR LCD_E ; END ENABLE PULSE MOV A, #1 ; DELAY 1 MILLISECOND CALL MDELAY CLR LCD_DB4 ; SPECIFY 4-BIT OPERATION SETB LCD_E ; START ENABLE PULSE CLR LCD_E ; END ENABLE PULSE MOV A, #1 ; DELAY 1 MILLISECOND CALL MDELAY MOV R4, #CONFIG; FUNCTION SET CALL WRLCDCOM4 MOV R4, #08H ; DISPLAY OFF CALL WRLCDCOM4 MOV R4, #1 ; CLEAR DISPLAY, HOME CURSOR CALL WRLCDCOM4 MOV R4,#ENTRYMODE ; SET ENTRY MODE ACALL WRLCDCOM4 JMP INITLCD4 ; ********************************************************** ; SUB WRITES A COMMAND WORD TO THE LCD ; COMMAND MUST BE PLACED IN R4 BY CALLING PROGRAM ; ********************************************************** WRLCDCOM4: CLR LCD_E CLR LCD_RS ; SELECT SEND COMMAND PUSH ACC ; SAVE ACCUMULATOR MOV A, R4 ; PUT DATA BYTE IN ACC MOV C, ACC.4 ; LOAD HIGH NIBBLE ON DATA BUS MOV LCD_DB4, C ; ONE BIT AT A TIME USING... MOV C, ACC.5 ; BIT MOVE OPERATOINS MOV LCD_DB5, C MOV C, ACC.6 MOV LCD_DB6, C MOV C, ACC.7 MOV LCD_DB7, C SETB LCD_E ; PULSE THE ENABLE LINE CLR LCD_E MOV C, ACC.0 ; SIMILARLY, LOAD LOW NIBBLE MOV LCD_DB4, C MOV C, ACC.1 MOV LCD_DB5, C MOV C, ACC.2 MOV LCD_DB6, C MOV C, ACC.3 MOV LCD_DB7, C CLR LCD_E SETB LCD_E ; PULSE THE ENABLE LINE CLR LCD_E CALL MADELAY POP ACC RET ; ********************************************************** ; SUB TO WRITE A DATA WORD TO THE LCD ; DATA MUST BE PLACED IN R4 BY CALLING PROGRAM ; ********************************************************** WRLCDDATA: CLR LCD_E SETB LCD_RS ; SELECT SEND DATA PUSH ACC ; SAVE ACCUMULATOR MOV A, R4 ; PUT DATA BYTE IN ACC MOV C, ACC.4 ; LOAD HIGH NIBBLE ON DATA BUS MOV LCD_DB4, C ; ONE BIT AT A TIME USING... MOV C, ACC.5 ; BIT MOVE OPERATOINS MOV LCD_DB5, C MOV C, ACC.6 MOV LCD_DB6, C MOV C, ACC.7 MOV LCD_DB7, C SETB LCD_E ; PULSE THE ENABLE LINE CLR LCD_E MOV C, ACC.0 ; SIMILARLY, LOAD LOW NIBBLE MOV LCD_DB4, C MOV C, ACC.1 MOV LCD_DB5, C MOV C, ACC.2 MOV LCD_DB6, C MOV C, ACC.3 MOV LCD_DB7, C CLR LCD_E SETB LCD_E ; PULSE THE ENABLE LINE CLR LCD_E NOP NOP POP ACC RET ; ********************************************************** ; SUB TAKES THE STRING IMMEDIATELY FOLLOWING THE CALL AND ; DISPLAYS ON THE LCD. STRING MUST BE TERMINATED WITH A ; NULL (0). ; ********************************************************** LCD_MSG: CLR A ; Clear Index MOVC A,@A+DPTR ; Get byte pointed by Dptr INC DPTR ; Point to the next byte JZ LCD_Msg9 ; Return if found the zero (end of stringz) CJNE A,#001H,Lcd_Msg1 ; Check if is a Clear Command MOV R4,A CALL WRLCDCOM4 ;If yes, write it as command to LCD JMP LCD_MSG ;Go get next byte from stringz Lcd_Msg1: CJNE A,#0FFH,FLL ;Check for displaying full character MOV R4,A CALL WRLCDDATA JMP LCD_MSG FLL: CJNE A,#080h,$+3 ; Data or Address? If => 80h then is address. JC Lcd_Msg_Data ; Carry will be set if A < 80h (Data) MOV R4,A CALL WRLCDCOM4 ; Carry not set if A=>80, it is address JMP Lcd_Msg ; Go get next byte from stringz Lcd_Msg_Data: ; MOV R4,A CALL WRLCDDATA ; It was data, write it to Lcd JMP Lcd_Msg ; Go get next byte from stringz Lcd_Msg9: RET ; Return to Caller ; ********************************************************** ; 1 MILLISECOND DELAY ROUTINE ; ********************************************************** MDELAY: PUSH ACC MOV A,#0A6H MD_OLP: INC A NOP NOP NOP NOP NOP NOP NOP NOP JNZ MD_OLP NOP POP ACC RET MADELAY: PUSH ACC MOV A,#036H MAD_OLP: INC A NOP NOP NOP NOP NOP NOP NOP NOP JNZ MAD_OLP NOP POP ACC RET ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ END