;===============================================================; ; SWCA.ASM ; ;===============================================================; ; ; ; .ORG 00000H ; Reset: AJMP Start ;System start / reset ; .ORG 0003H AJMP EXINT0 ;Ext Int 0 (pin 12) ; ; L0005: .DB 00DH ;0005 0D .DB 00AH ;0006 0A .DB 000H ;0007 00 ; .ORG 00BH AJMP TMINT0 ;Timer Int 0 ; .DB 020H ;000D 20 .DB 00DH ;000E 0D .DB 00AH ;000F 0A .DB 000H ;0010 00 ; .ORG 0013H AJMP EXINT1 ;Ext Int 1 (When inverter is reading push buttons ;or latching LEDs on display (/INT1=OE xor /LE) ; ; .ORG 001BH L001B: RETI ;Timer Int 1 ; ; .ORG 0023H AJMP SERINT ; ; .DB "(C)1998 TRACE ENGINEERING" ; LOGO: .DB "SWCA Ver1.02 8/24/98" .DB 000H ; ; L0053: CJNE R2,#0C0H,L0058 ; MOV R3,#015H ;Offset 21 'FL' ; L0058: CJNE R2,#0C4H,L005D ; MOV R3,#017H ;Offset 23 'SE' ; L005D: CJNE R2,#0C9H,L0062 ; MOV R3,#019H ;Offset 25 'SL' ; L0062: CJNE R2,#0CDH,L00BB ; MOV R3,#01BH ;Offset 27 'LB' SJMP L00BB ; ; L0069: CJNE A,#047H,L00CE ; MOV A,02DH ; CJNE A,#065H,L0053 ; CJNE R2,#0C0H,L0076 ; SJMP L00A8 ; ; L0076: CJNE R2,#0C4H,L007B ; MOV R3,#00DH ;Offset 13 'AU' ; L007B: CJNE R2,#0C9H,L0080 ; SJMP L00B4 ; ; L0080: CJNE R2,#0CDH,L00BB ; MOV R3,#00FH ;Offset 15 'EQ' SJMP L00BB ; ; L0087: CJNE A,#054H,L0069 ; CJNE R2,#0C0H,L008F ; MOV R3,#011H ;Offset 17 'LA' ; L008F: CJNE R2,#0C9H,L00BB ; MOV R3,#013H ;Offset 19 'NC' SJMP L00BB ; ; L0096: JNB 03AH,L00CE ; JNB 020H,L00CE ;(m20 byte from inverter) MOV A,02CH ; MOV R3,#000H ; CJNE A,#049H,L0087 ; CJNE R2,#0C0H,L00AA ; SETB 023H ; ; L00A8: MOV R3,#005H ;Offset 5 'OF' ; L00AA: CJNE R2,#0C4H,L00AF ; MOV R3,#007H ;Offset 7 'SR' ; L00AF: CJNE R2,#0C9H,L00B6 ; SETB 024H ; ; L00B4: MOV R3,#009H ;Offset 9 'ON' ; L00B6: CJNE R2,#0CDH,L00BB ; MOV R3,#00BH ;Offset 11 'CH' ; L00BB: MOV A,R3 ;R3 = offset in table JZ L00CE ; CJNE A,00CH,L00C3 ; SJMP L00CE ; ; ;Send two byte string from mem table L00C3: MOV 00CH,R3 ; ADD A,#003H ;A=offset in table MOVC A,@A+PC ; ACALL STRINT ; MOV A,R3 ; MOVC A,@A+PC ; ACALL STRINT ; ; L00CE: SJMP L013C ; .DB "OFSRONCHAUEQLANCFLSESLLB" ; Data table ; L00E8: SJMP L0096 ; EXINT0: JNB 026H,L00EE ;Inverter writing byte to display RETI ; ; ; L00EE: MOV 020H,P1 ;Input parallel data from inverter PUSH ACC ; PUSH PSW ; MOV PSW,#008H ; JNB P3.5,L014B ;RS bit DB 25 pin 17 1 = instruction, 0 = data MOV R2,020H ;(m20 byte from inverter) JB 007H,L0125 ;Process display instruction byte CJNE R2,#00CH,L0110 ; CLR 020H ;0C from inverter = make cursor invisible? MOV A,#0E0H ; JNB 03AH,L010C ; MOV A,#020H ; ; L010C: ACALL STRINT ; SJMP L0175 ; ; L0110: CJNE R2,#00EH,L011E ; SETB 020H ;0E from inverter = turn on visible underline cursor JB 03AH,L0175 ; MOV A,#0E1H ; ACALL STRINT ; SJMP L0175 ; ; L011E: CJNE R2,#038H,L0175 ;38 from inverter = set 8-bit, 2 lines, 5*7 Pixels SETB 025H ; SJMP L0175 ; ; L0125: MOV A,020H ;(m20 byte from inverter) CJNE A,#080H,L00E8 ; SETB 021H ;80 from inverter = ser cursor position MOV 00CH,#000H ; JNB 03AH,L013C ; MOV A,#00DH ;Send carraige Return ACALL STRINT ; MOV A,#00AH ;Send Line Feed ACALL STRINT ; SJMP L013C ; ; L013C: ANL 020H,#07FH ;(m20 byte from inverter) MOV 021H,020H ;(m20 byte from inverter) JNB 03AH,L0147 ; MOV A,#020H ;Send Space ; L0147: ACALL STRINT ; SJMP L0175 ; ; L014B: MOV A,#0FFH ;Process display data byte CJNE A,020H,L0152 ;(m20 byte from inverter) SJMP L0175 ; ; L0152: JB 00CH,L0175 ; JB 00DH,L0175 ; MOV A,021H ; JB ACC.6,L0163 ; ANL A,#00FH ; ADD A,#028H ; SJMP L0167 ; ; L0163: ANL A,#00FH ; ADD A,#038H ; ; L0167: MOV R1,A ; MOV @R1,020H ;(m20 byte from inverter) INC 021H ; MOV A,020H ;(m20 byte from inverter) ACALL STRINT ; CJNE R1,#047H,L0175 ; SETB 022H ; ; L0175: POP PSW ; POP ACC ; RETI ; ; ; ; Pannel push button bits: ; 0 = set + ; 1 = set - ; 2 = menu up ; 3 = menu down ; 4 = menu -> ; 5 = menu <- ; 6 = on/off ; 7 = gen ; EXINT1: JNB P3.4,L019B ;/OE Bit DB25 pin 18 (OE high = read panel buttons) MOV P1,01CH ;Output parallel data to inverter from ER Error flag? PUSH PSW ;HD44780 command 1C = Set cursor, Shift right MOV PSW,#008H ; MOV R1,#01DH ; INC @R1 ; CJNE @R1,#00AH,L018B ; ; L018B: JC L0192 ; MOV 01CH,#000H ;ER Error flag and byte to inverter CLR 02CH ; ; L0192: JB P3.4,L0192 ;/OE Bit DB25 pin 18 (high = read panel buttons) MOV P1,#0FFH ;Output parallel data to inverter POP PSW ;Wait until /OE, set all bits high & return. RETI ; ; ;Display LEDS bits: ; 0 = over current ; 1 = float ; 2 = AC2 ; 3 = inverting ; 4 = error ; 5 = line tie ; 6 = AC2 ; 7 = Bulk ; L019B: PUSH ACC ;OE = 0, latching display LEDS MOV A,P1 ;Input byte from inverter. CJNE A,022H,L01A5 ; POP ACC ; RETI ; ; ; L01A5: MOV 023H,022H ; MOV 022H,A ; XRL 023H,A ; ANL 023H,A ; JB 026H,L01BC ; JB 03AH,L01BC ; MOV A,#0E3H ; ACALL STRINT ; MOV A,022H ; ACALL STRINT ; ; L01BC: SETB 032H ; POP ACC ; RETI ; ; ;Process timer interrupt. TMINT0: PUSH ACC ;Set up timer 0f8cdh MOV TL0,#066H ; 1ms clock @ 11.0592Mhz MOV TH0,#0FCH ; ; MOV TL0,#0CDH ; 1ms clock @ 22.1184Mhz ; MOV TH0,#0F8H ; MOV A,013H ; JZ L01CF ; DEC 013H ; ; L01CF: MOV A,016H ; JZ L01D8 ; DJNZ 016H,L01D8 ; SETB TI ; ; L01D8: DJNZ 010H,L021C ; MOV 010H,#0FAH ; MOV A,014H ; JZ L01E4 ; DEC 014H ; ; L01E4: MOV A,015H ; JZ L01ED ; DJNZ 015H,L01ED ; SETB 033H ; ; L01ED: DJNZ 011H,L021C ; MOV 011H,#004H ; JNB 010H,L01FF ; MOV A,00EH ; JZ L0202 ; DJNZ 00EH,L0202 ; SETB 02EH ; ; L01FF: MOV 00EH,#03CH ; ; L0202: MOV A,00FH ; JZ L020B ; DJNZ 00FH,L020B ; SETB 02DH ; ; L020B: JNB 038H,L021C ; JNB 027H,L021C ; MOV A,00DH ; JZ L021C ; DJNZ 00DH,L021C ; SETB 02FH ; SETB 030H ; ; L021C: POP ACC ; RETI ; ; ; SERINT: JB TI,L022A ;Transmit Interupt Flag MOV 01AH,SBUF ;Input from serial port to AC In 2 Flag? SETB 030H ; CLR RI ;Clear Receive Interupt Flag RETI ; ; ; L022A: PUSH ACC ; PUSH 001H ; CLR TI ;Clear Transmit Interupt Flag MOV A,019H ;Float Flag JNZ L0236 ; SJMP L0245 ; ; L0236: MOV R1,018H ;Over Current Flag MOV A,@R1 ; MOV SBUF,A ;Output to serial port INC R1 ; DEC 019H ;Float Flag CJNE R1,#068H,L0243 ; MOV R1,#048H ; ; L0243: MOV 018H,R1 ;Over Current Flag ; L0245: POP 001H ; POP ACC ; RETI ; ; ; L024A: MOV B,01EH ;A1 AC In 1 Flag MOV A,01AH ;AC In 2 flag or byte from serial input JB 02AH,L0256 ; ACALL L02B7 ; SJMP L0258 ; ; L0256: ACALL L02BD ;call 24LC04B chip for write block 1 ; L0258: MOV A,#002H ; ACALL L0390 ; MOV B,01EH ;A1 AC In 1 Flag JB 02AH,L0266 ; ACALL L02D2 ; SJMP L0268 ; ; L0266: ACALL L02DA ; ; L0268: PUSH ACC ; ACALL L051E ;Set up for serial out MOV A,#0E5H ; ACALL STRINT ; POP ACC ; ACALL STRINT ; MOV A,#0EEH ; ACALL STRINT ; INC 01EH ;A1 AC In 1 Flag RET ; ; ; L027B: MOV R4,#008H ;Called when A = E7 or E8 MOV R1,#060H ; ACALL L03B4 ; ; L0281: MOV B,01EH ;A1 AC In 1 Flag JB 02AH,L028B ; ACALL L02D2 ; SJMP L028D ; ; L028B: ACALL L02DA ; ; L028D: MOV @R1,A ; INC R1 ; INC 01EH ;A1 AC In 1 Flag DJNZ R4,L0281 ; ACALL L051E ;Set up for serial out MOV A,#0E7H ; ACALL STRINT ; MOV R1,#060H ; MOV R4,#008H ; ; L029D: MOV A,@R1 ; ACALL STRINT ; INC R1 ; DJNZ R4,L029D ; MOV A,#0EEH ; ACALL STRINT ; RET ; ; ; SERBUS2: PUSH ACC ;Send serial bus two bytes. MOV A,#070H ;Select PCF8574A in write mode. ACALL STRTBIT ; ACALL SNDBYT ; POP ACC ; ACALL SNDBYT ; ACALL SNDSTOP ; RET ; ; ; L02B7: PUSH ACC ; MOV A,#0A0H ;Address the 24LC04B chip for write block 0 SJMP L02C1 ; ; L02BD: PUSH ACC ; MOV A,#0A2H ;Address the 24LC04B chip for write block 1 ; L02C1: PUSH B ; ACALL STRTBIT ; ACALL SNDBYT ; POP ACC ; ACALL SNDBYT ; POP ACC ; ACALL SNDBYT ; ACALL SNDSTOP ; RET ; ; ; L02D2: MOV A,#0A1H ;Address the 24LC04B chip for read block 0 PUSH ACC ; MOV A,#0A0H ;Address the 24LC04B chip for write block 0 SJMP L02E0 ; ; L02DA: MOV A,#0A3H ;Address the 24LC04B chip for read block 1 PUSH ACC ; MOV A,#0A2H ;Address the 24LC04B chip for write block 1 ; L02E0: PUSH B ; ACALL STRTBIT ; ACALL SNDBYT ; POP ACC ; ACALL SNDBYT ; ACALL STRTBIT ; POP ACC ; ACALL SNDBYT ; NOP ; MOV B,#008H ;8 bits to read ; L02F4: SETB P3.1 ;SCL Serial clock out MOV C,P3.7 ;SDA Serial data in RLC A ; NOP ; CLR P3.1 ;SCL Serial Clock out DJNZ B,L02F4 ; ACALL SNDSTOP ; RET ; ; ; SNDBYT: MOV B,#008H ;8 bits to write ; L0305: RLC A ; MOV P3.7,C ;SDA Serial data out SETB P3.1 ;SCL Serial clock out ACALL DELAY ; CLR P3.1 ;SCL Serial clock out DJNZ B,L0305 ; ACALL L0314 ; RET ; ; ; L0314: SETB P3.7 ;SDA Serial data out SETB P3.1 ;SCL Serial clock out ACALL L0330 ; CLR A ; MOV C,P3.7 ;SDA Serial data in CLR P3.1 ;SCL Serial clock out JC L0322 ; RET ; ; ; L0322: CPL A ; RET ; ; ; STRTBIT: SETB P3.7 ;SDA Serial Data out SETB P3.1 ;SCL Serial Clock out ACALL DELAY ; CLR P3.7 ;SDA Serial Data out ACALL DELAY ; CLR P3.1 ;SCL Serial Clock out ; L0330: RET ; ; ; DELAY: AJMP L0330 ; ; ; SNDSTOP: CLR P3.7 ;SDA Serial Data out SETB P3.1 ;SCL Serial Clock out ACALL DELAY ; SETB P3.7 ;SDA Serial Data out RET ; ; ; L033C: MOV 027H,#000H ; ACALL L03B4 ; MOV A,#0FFH ;Send FF: LED off, DG714 off, no reset. ACALL SERBUS2 ; RET ; ; ; L0346: MOV 01DH,#000H ;LT Line Tie Flag MOV 01CH,A ;ER Error flag and byte to inverter? SETB 02CH ; ; L034D: MOV A,01CH ;ER Error flag JNZ L034D ; RET ; ; ; L0352: MOV 01FH,A ;BK Bulk flag MOV R4,#004H ; ; L0356: CLR 021H ; CLR 022H ; MOV 014H,#003H ; MOV A,01FH ;BK Bulk flag ACALL L0346 ; ; L0361: JNB 021H,L036A ; JNB 022H,L036A ; SETB F0 ; RET ; ; ; L036A: JB 030H,L0373 ; MOV A,014H ; JNZ L0361 ; DJNZ R4,L0356 ; ; L0373: CLR F0 ; RET ; ; ;Load string into ram? STRINT: CLR EA ;Disable global interupts MOV R0,017H ; MOV @R0,A ; INC R0 ; CJNE R0,#068H,L0381 ; MOV R0,#048H ; ; L0381: MOV 017H,R0 ; INC 019H ; MOV A,019H ;Float Flag CJNE A,#001H,L038D ; MOV 016H,#002H ; ; L038D: SETB EA ;Enable global interupts RET ; ; ; L0390: MOV 013H,A ; ; L0392: MOV A,013H ;Wait for [13H] = 0 JNZ L0392 ; RET ; ; ; L0397: MOV 014H,A ; JB 030H,L03A0 ; ; L039C: MOV A,014H ;Wait for [14H] = 0 JNZ L039C ; ; L03A0: RET ; ; ; SNDSTRZ: CLR A ;Send string of text until zero MOVC A,@A+DPTR ; INC DPTR ; JZ L03AA ; ACALL STRINT ; SJMP SNDSTRZ ; ; L03AA: RET ; ; ; L03AB: MOV A,019H ;Wait for [19H] = 0 Float Flag JNZ L03AB ; MOV A,#002H ; ACALL L0390 ;Call Wait for [13H] = 0 RET ; ; ; L03B4: SETB 026H ; MOV 019H,#000H ;Float Flag MOV 017H,#048H ; MOV 018H,#048H ;Over Current flag RET ; ; ; L03C0: MOV DPTR,#L0005 ;Send CR, LF ACALL SNDSTRZ ; RET ; ; ; L03C6: ACALL L03B4 ; ACALL L03C0 ;Call Send CR, LF MOV DPTR,#LOGO ;Send logo ACALL SNDSTRZ ; ACALL L03AB ;call wait loops (until 19 & 13 = 0) CLR 026H ; RET ; ; ; L03D4: .DB 00DH ;Unit number .DB 00AH ; .DB "UNIT" .DB 000H ; ; L03DB: .DB " OC" ;Over Current .DB 000H ; ; L03DF: .DB " FL" ;Float .DB 000H ; ; L03E3: .DB " A2" ;AC In 2 .DB 000H ; ; L03E7: .DB " IN" ;Inverting .DB 000H ; ; L03EB: .DB " ER" ;Error .DB 000H ; ; L03EF: .DB " LT" ;Line Tie .DB 000H ; ; L03F3: .DB " A1" ;AC In 1 .DB 000H ; ; L03F7: .DB " BK" ;Bulk .DB 000H ; ; L03FB: JNB 03AH,L046D ; ACALL L03B4 ; ACALL L03C0 ; MOV DPTR,#L03D4 ; UNIT number ACALL SNDSTRZ ; MOV A,01BH ;Get unit number and Inverting flag ORL A,#030H ;Change it to ASCII ACALL STRINT ;Send it MOV A,#020H ;and send a space ACALL STRINT ; MOV 023H,022H ; CLR 032H ; ; L0416: JNB 018H,L041E ;Over Current flag MOV DPTR,#L03DB ; OC Over Current ACALL SNDSTRZ ; ; L041E: JNB 019H,L0426 ; MOV DPTR,#L03DF ; FL Float ACALL SNDSTRZ ; ; L0426: JNB 01AH,L042E ;AC In 2 flag or byte from serial input MOV DPTR,#L03E3 ; A2 AC In 2 ACALL SNDSTRZ ; ; L042E: JNB 01BH,L0436 ;unit number and Inverting flag MOV DPTR,#L03E7 ; IN Inverting ACALL SNDSTRZ ; ; L0436: JNB 01CH,L043E ;ER Error flag and byte to inverter? MOV DPTR,#L03EB ; ER Error ACALL SNDSTRZ ; ; L043E: JNB 01DH,L0446 ;LT Line Tie Flag MOV DPTR,#L03EF ; LT Line Tie ACALL SNDSTRZ ; ; L0446: JNB 01EH,L044E ;A1 AC In 1 Flag MOV DPTR,#L03F3 ; ACALL SNDSTRZ ; A1 AC In 1 ; L044E: JNB 01FH,L0456 ;BK Bulk flag MOV DPTR,#L03F7 ; BK Bulk ACALL SNDSTRZ ; ; L0456: JBC 033H,L0469 ; JB 030H,L0467 ; JB 02EH,L0469 ; JB 02DH,L0469 ; JBC 032H,L0416 ; SJMP L0456 ; ; L0467: SETB 031H ; ; L0469: ACALL L03AB ;call wait loops (until 19 & 13 = 0) CLR 026H ; ; L046D: RET ; ; ; LTMOUT: .DB " TMOUT " .DB 000H ; ; L0476: MOV 00DH,#0A0H ; MOV 015H,#010H ; ACALL L03FB ;Unit MOV A,#006H ; ACALL L05B0 ; JNB F0,L04AD ; MOV A,#004H ; ACALL L0397 ; JB 030H,L04AC ; MOV A,#004H ; ACALL L05B0 ; JNB F0,L04AD ; JB 030H,L04AC ; MOV R2,#009H ; ; L0498: ACALL L05A4 ; MOV A,#004H ; ACALL L0397 ; JB 030H,L04AC ; DJNZ R2,L0498 ; MOV DPTR,#L0005 ; ; L04A6: ACALL SNDSTRZ ; ACALL L03AB ;call wait loops (until 19 & 13 = 0) ACALL L0528 ; ; L04AC: RET ; ; ; L04AD: MOV DPTR,#LTMOUT ;Send "TMOUT" SJMP L04A6 ; ; L04B2: ACALL L03B4 ; MOV A,#080H ; ACALL STRINT ; MOV R1,#028H ; MOV R4,#010H ; ; L04BC: MOV A,@R1 ; ACALL STRINT ; INC R1 ; DJNZ R4,L04BC ; MOV A,#00AH ; ACALL L0390 ; MOV A,#0C0H ; ACALL STRINT ; MOV R4,#010H ; ; L04CC: MOV A,@R1 ; ACALL STRINT ; INC R1 ; DJNZ R4,L04CC ; MOV A,021H ; SUBB A,#030H ; JNB ACC.4,L04DB ; SETB ACC.6 ; ; L04DB: CLR ACC.4 ; SETB ACC.7 ; ACALL STRINT ; CLR 026H ; RET ; ; ; L04E4: ACALL L033C ; called A=E4 MOV A,#002H ; ACALL L0390 ; MOV R1,#060H ; MOV R4,#008H ; MOV 01EH,#0F0H ;A1 AC In 1 Flag ; L04F1: MOV B,01EH ;A1 AC In 1 Flag ACALL L02DA ; MOV @R1,A ; INC 01EH ;A1 AC In 1 Flag INC R1 ; DJNZ R4,L04F1 ; ACALL L051E ;Set up for serial out MOV A,#0E4H ; ACALL STRINT ; MOV A,01BH ;unit number and Inverting flag ACALL STRINT ; MOV R1,#060H ; MOV R4,#008H ; ; L050A: MOV A,@R1 ; ACALL STRINT ; INC R1 ; DJNZ R4,L050A ; MOV A,#005H ; ACALL L0390 ; MOV DPTR,#LOGO ; ACALL SNDSTRZ ; MOV A,#0EEH ; ACALL STRINT ; RET ; ; ; ;Set up for serial out L051E: MOV A,#0CFH ;Send CF: LED on, DG714 on, no reset. ACALL SERBUS2 ; MOV 00DH,#0A0H ; SETB 027H ; RET ; ; ; L0528: MOV A,#0FFH ;Send FF: LED off, DG714 off, no reset. ACALL SERBUS2 ; MOV 00DH,#000H ; CLR 027H ; RET ; ; ; L0532: MOV 046H,#000H ; MOV 047H,#000H ; MOV 014H,#003H ; ACALL L0346 ; ; L053D: MOV A,046H ; ADD A,047H ; CJNE A,#051H,L0544 ; ; L0544: JC L0557 ; MOV A,046H ; ANL A,#00FH ; MOV B,#00AH ; MUL AB ; XCH A,B ; MOV A,047H ; ANL A,#00FH ; ADD A,B ; RET ; ; ; L0557: MOV A,014H ; JNZ L053D ; MOV A,#000H ; RET ; ; ; L055E: MOV R4,#004H ; ; L0560: MOV A,#020H ; ACALL L0532 ; JNZ L0568 ; DJNZ R4,L0560 ; ; L0568: RET ; ; ; L0569: MOV R4,#004H ; ; L056B: MOV A,#010H ; ACALL L0532 ; JNZ L0573 ; DJNZ R4,L056B ; ; L0573: RET ; ; ; L0574: MOV R4,#004H ; ; L0576: MOV A,#0C0H ; ACALL L0532 ; JNZ L057E ; DJNZ R4,L0576 ; ; L057E: RET ; ; ; L057F: CLR 021H ; CLR 022H ; MOV 014H,#003H ; ACALL L0346 ; ; L0588: JNB 021H,L0591 ; JNB 022H,L0591 ; SETB F0 ; RET ; ; ; L0591: MOV A,014H ; JNZ L0588 ; CLR F0 ; RET ; ; MOV R4,#004H ; ; L059A: MOV A,#004H ; ACALL L057F ; JB F0,L05A3 ; DJNZ R4,L059A ; ; L05A3: RET ; ; ; L05A4: MOV R4,#004H ; ; L05A6: MOV A,#008H ; ACALL L057F ; JB F0,L05AF ; DJNZ R4,L05A6 ; ; L05AF: RET ; ; ; L05B0: CLR F0 ; MOV 01FH,A ;BK Bulk flag MOV R7,#019H ; ; L05B6: ACALL L055E ; JNZ L05BD ; DJNZ R7,L05B6 ; RET ; ; ; L05BD: MOV R6,A ; MOV A,01FH ;BK Bulk flag CJNE A,#008H,L05C3 ; ; L05C3: JC L05CD ; MOV A,R6 ; CJNE A,#009H,L05C9 ; ; L05C9: JNC L05CD ; ACALL L0574 ; ; L05CD: MOV A,R6 ; ; L05CE: CJNE A,01FH,L05D4 ;BK Bulk flag SETB F0 ; RET ; ; ; L05D4: JC L05DC ; ACALL L055E ; JNZ L05E0 ; SJMP L05B6 ; ; L05DC: ACALL L0569 ; JZ L05B6 ; ; L05E0: DJNZ R7,L05CE ; RET ; ; ; L05E3: CJNE A,#07BH,L05E6 ;jump if A <> 7B if A < 7B then C = 1 ; L05E6: JNC L05EF ;jump if not A < 7B CJNE A,#041H,L05EB ;if A <> 41 ; L05EB: JC L05EF ;if A > 41 ANL A,#0DFH ;A < 41, strip off 20H ; L05EF: CJNE A,#044H,L05F6 ; MOV A,#008H ;if A=44, A=8 SJMP L0636 ; ; L05F6: CJNE A,#055H,L05FD ; MOV A,#004H ;if A=55, A=4 SJMP L0636 ; ; L05FD: CJNE A,#02DH,L0602 ; SJMP L0605 ;A=2D ; L0602: CJNE A,#05FH,L0609 ; ;A=5F L0605: MOV A,#002H ;if A=5F or A=2D, A=2 SJMP L0636 ; ; L0609: CJNE A,#02BH,L060E ; SJMP L0611 ;A=2B ; L060E: CJNE A,#03DH,L0615 ; ;A=3D L0611: MOV A,#001H ;if A=3D or A=2B, A=1 SJMP L0636 ; ; L0615: CJNE A,#052H,L061C ; MOV A,#010H ;if A=52, A=10 SJMP L0636 ; ; L061C: CJNE A,#04CH,L0623 ; MOV A,#020H ;if A=4C, A=20 SJMP L0636 ; ; L0623: CJNE A,#047H,L062A ; MOV A,#080H ;if A=47, A=80 SJMP L0636 ; ; L062A: CJNE A,#049H,L0631 ; MOV A,#040H ;if A=49, A=40 SJMP L0636 ; ; L0631: CJNE A,#013H,L0639 ; MOV A,#0C0H ;if A=13, A=C0 ; L0636: ACALL L0352 ; RET ; ; ; L0639: CJNE A,#0E3H,L0640 ; MOV 022H,#0FFH ;A=E3 RET ; ; ; L0640: CJNE A,#054H,L0645 ; SETB 03AH ;A=54 ; L0645: CJNE A,#051H,L064A ; CLR 03AH ;A=51 ; L064A: CJNE A,#041H,L064F ; SETB 03BH ;A=41 ; L064F: CJNE A,#04EH,L0659 ; CLR 03AH ;A=4E CLR 03BH ; MOV 00FH,#000H ; ; L0659: CJNE A,#056H,L065F ; ACALL L03C6 ;A=56 RET ; ; ; L065F: CJNE A,#03FH,L0664 ; SJMP L0667 ;A=3F ; L0664: CJNE A,#02FH,L066A ; ;A=2F L0667: ACALL L03FB ; RET ; ; ; L066A: CJNE A,#05AH,L0671 ; MOV A,#006H ;if A=5A, A=6 ACALL L05B0 ; ; L0671: RET ; ; ; L0672: CJNE A,#009H,L0675 ; ;A=9 L0675: JC L0695 ;if A > 9 ANL A,#00FH ;if A <= 9 strip upper bits PUSH ACC ; JNB 03BH,L0689 ; MOV A,01BH ;unit number and Inverting flag DEC A ; MOV B,#01EH ; MUL AB ; ADD A,#005H ; MOV 00FH,A ; ; L0689: POP ACC ; CJNE A,01BH,L06A2 ;unit number and Inverting flag ACALL L051E ;Set up for serial out SETB 03AH ; ACALL L03FB ; RET ; ; ; L0695: CJNE A,01BH,L06A2 ;unit number and Inverting flag CLR 03AH ; MOV 00FH,#000H ; ACALL L051E ;Set up for serial out ACALL L04B2 ; RET ; ; ; L06A2: ACALL L0528 ; RET ; ; ; Start: MOV IE,#000H ; MOV TCON,#000H ; MOV P1,#0FFH ;Set all bits on Port 1 high MOV P3,#0FFH ;Set all bits on port 3 high MOV SP,#067H ;Init the stack pointer to 67H CLR A ;Init the RAM? MOV PSW,A ; MOV 024H,A ; MOV 025H,A ; MOV 026H,A ; MOV 01CH,A ;ER Error flag and byte to inverter? MOV 021H,A ; MOV 016H,A ; MOV 011H,#004H ; MOV 012H,#03CH ; MOV A,#0FFH ;Send FF: LED off, DG714 off, no reset. ACALL SERBUS2 ; ACALL L03B4 ; CLR 026H ; MOV R0,#028H ; MOV R4,#04FH ; ; L06D5: INC R0 ; MOV @R0,A ; DJNZ R4,L06D5 ; MOV TMOD,#021H ;Set Timer mode, Timer 0 mode 1 16 bit ; Timer 1 mode 2, 8 bit auto reload MOV TL0,#066H ;Set timer 0 1ms Clock = 11.0592Mhz MOV TH0,#0FCH ; MOV TL1,#0FDH ; MOV TH1,#0FDH ;Set baud rate 9600 ; MOV TL0,#0CDH ;Set timer 0 1ms Clock = 22.1184Mhz ; MOV TH0,#0F8H ; ; MOV TL1,#0FAH ; ; MOV TH1,#0FAH ;Set baud rate 9600 MOV A,SBUF ;Input from serial port MOV SCON,#050H ;Serial port mode 1, reception enable MOV IP,#001H ;Set externial interrupt 0 priority bit. MOV TCON,#050H ;Timer SETB IT0 ; SETB IT1 ; ACALL L001B ; MOV IE,#092H ;Enable interrpts, Serial port and timer 0 Ints. ACALL L0528 ; MOV B,#0F6H ; ACALL L02DA ; MOV 027H,A ; MOV B,#0F8H ; ACALL L02DA ; JZ L0711 ; CJNE A,#020H,L070F ; ; L070F: JC L071A ; ; L0711: MOV A,#001H ; MOV B,#0F8H ; ACALL L02BD ;call 24LC04B chip for write block 1 MOV A,#001H ; ; L071A: MOV 01BH,A ;unit number and Inverting flag MOV A,01AH ;AC In 2 flag or byte from serial input CJNE A,#0EFH,L0724 ; MOV 027H,#000H ; ; L0724: MOV A,01BH ;unit number and Inverting flag CJNE A,#001H,L072B ; ACALL L051E ;Set up for serial out ; L072B: SETB EX0 ; SETB EX1 ; ; L072F: JNB 02DH,L0738 ; CLR 02DH ; ACALL L051E ;Set up for serial out ACALL L0476 ; ; L0738: JNB 039H,L0761 ; JNB 02EH,L0761 ; ; L073E: CLR 023H ; MOV A,#040H ; ACALL L0346 ; MOV A,#003H ; ACALL L0397 ; JNB 023H,L073E ; MOV A,#008H ; ACALL L0397 ; ; L074F: CLR 024H ; MOV A,#040H ; ACALL L0346 ; MOV A,#003H ; ACALL L0397 ; JNB 024H,L074F ; MOV 00EH,#03CH ; CLR 02EH ; ; L0761: JNB 030H,L072F ; CLR 030H ; JNB 02FH,L076F ; CLR 02FH ; CLR 030H ; SJMP L07E6 ; ; L076F: MOV 00DH,#0A0H ; JNB 028H,L077C ; MOV 01EH,01AH ;A1 AC In 1 Flag = AC In 2 flag or byte from serial input CLR 028H ; SJMP L07E8 ; ; L077C: JNB 029H,L0785 ; ACALL L024A ; CLR 029H ; SJMP L07E4 ; ; L0785: MOV A,01AH ;AC In 2 flag or byte from serial input CJNE A,#0E4H,L078E ; ACALL L04E4 ;E4 SJMP L07E4 ; ; L078E: CJNE A,#0E5H,L0795 ; SETB 029H ;E5 CLR 02AH ; ; L0795: CJNE A,#0E6H,L079C ; SETB 029H ;E6 SETB 02AH ; ; L079C: CJNE A,#0E7H,L07A5 ; CLR 02AH ;E7 ACALL L027B ; SJMP L07E4 ; ; L07A5: CJNE A,#0E8H,L07AE ; SETB 02AH ;E8 ACALL L027B ; SJMP L07E4 ; ; L07AE: CJNE A,#0EFH,L07B3 ; AJMP Start ;EF ; ; L07B3: CJNE A,#01BH,L07C1 ; ACALL L03B4 ;1B MOV 014H,#006H ; ; L07BB: MOV A,014H ; JNZ L07BB ; AJMP Start ; ; ; L07C1: CJNE A,#0E9H,L07CA ; ACALL L033C ;E9 SETB 028H ; SJMP L07E8 ; ; L07CA: CJNE A,#009H,L07CD ;09 (tab?) ; L07CD: JC L07D9 ; CJNE A,#031H,L07D2 ;31 ; L07D2: JC L07DD ; > "1" CJNE A,#039H,L07D7 ; < "9" ; L07D7: JNC L07DD ; ; L07D9: ACALL L0672 ; SJMP L07E8 ; ; L07DD: JNB 027H,L07E8 ;27 ACALL L05E3 ; SJMP L07E8 ; ; L07E4: ACALL L03AB ;call wait loops (until 19 & 13 = 0) ; L07E6: ACALL L0528 ; ; L07E8: JNB 031H,L07EF ; CLR 031H ; SETB 030H ; ; L07EF: AJMP L072F ; ; .DB 0A0H ;07F1 A0 . .DB 030H ;07F2 30 0 .DB 028H ;07F3 28 ( .DB 007H ;07F4 07 . .DB 085H ;07F5 85 . .DB 01AH ;07F6 1A . .DB 01EH ;07F7 1E . .DB 0C2H ;07F8 C2 . .DB 028H ;07F9 28 ( .DB 080H ;07FA 80 . .DB 06CH ;07FB 6C l .DB 030H ;07FC 30 0 .DB 029H ;07FD 29 ) .DB 006H ;07FE 06 . .DB 051H ;07FF 51 Q ; ; Unresolved Address Reference list ; ; ; ; Cross-references to LABELS ; ; ; L0005= 03C0 04A3 ; L001B= 06F7 ; LOGO= 03CA 0514 ; L0053= 006E ; L0058= 0053 ; L005D= 0058 ; L0062= 005D ; L0069= 0087 ; L0076= 0071 ; L007B= 0076 ; L0080= 007B ; L0087= 00A0 ; L008F= 008A ; L00A8= 0074 ; L00AA= 00A3 ; L00AF= 00AA ; L00B4= 007E ; L00B6= 00AF ; L00BB= 0062 0067 0080 0085 008F 0094 00B6 ; L00C3= 00BE ; L00CE= 0069 0096 0099 00BC 00C1 ; L00E8= 0127 ; EXINT0= 0003 ; L00EE= 00EA ; L010C= 0107 ; L0110= 0100 ; L011E= 0110 ; L0125= 00FD ; L013C= 00CE 012F 013A ; L0147= 0142 ; L014B= 00F8 ; L0152= 014D ; L0163= 015A ; L0167= 0161 ; L0175= 010E 0115 011C 011E 0123 0149 0150 0152 0155 0170 ; ; EXINT1= 0013 ; L018B= 0188 ; L0192= 018B 0192 ; L019B= 017A ; L01A5= 019F ; L01BC= 01AE 01B1 ; TMINT0= 000B ; L01CF= 01CB ; L01D8= 01D1 01D3 ; L01E4= 01E0 ; L01ED= 01E6 01E8 ; L01FF= 01F3 ; L0202= 01F8 01FA ; L020B= 0204 0206 ; L021C= 01D8 01ED 020B 020E 0213 0215 ; SERINT= 0023 ; L022A= 021F ; L0236= 0232 ; L0243= 023E ; L0245= 0234 ; L024A= 077F ; L0256= 024F ; L0258= 0254 ; L0266= 025F ; L0268= 0264 ; L027B= 07A1 07AA ; L0281= 0291 ; L028B= 0284 ; L028D= 0289 ; L029D= 02A1 ; SERBUS2= 0343 0520 052A 06CB ; L02B7= 0252 ; L02BD= 0256 0716 ; L02C1= 02BB ; L02D2= 0262 0287 ; L02DA= 0266 028B 04F4 0701 0708 ; L02E0= 02D8 ; L02F4= 02FC ; SNDBYT= 02AE 02B2 02C5 02C9 02CD 02E4 02E8 02EE ; L0305= 030E ; L0314= 0311 ; L0322= 031F ; STRTBIT= 02AC 02C3 02E2 02EA ; L0330= 0318 0331 ; DELAY= 030A 0328 032C 0337 ; SNDSTOP= 02B4 02CF 02FF ; L033C= 04E4 07C4 ; L0346= 035F 053B 0586 0742 0753 ; L034D= 034F ; L0352= 0636 ; L0356= 0371 ; L0361= 036F ; L036A= 0361 0364 ; L0373= 036A ; STRINT= 00C8 00CC 010C 011A 0134 0138 0147 016E 01B6 01BA ; 026E 0272 0276 0297 029E 02A5 03A6 040B 040F 04B6 ; 04BD 04C8 04CD 04DF 0500 0504 050B 051B ; L0381= 037C ; L038D= 0387 ; L0390= 025A 03B1 04C4 04E8 0512 ; L0392= 0394 ; L0397= 0487 049C 0746 074D 0757 ; L039C= 039E ; L03A0= 0399 ; SNDSTRZ= 03A8 03C3 03CD 0405 041C 0424 042C 0434 043C 0444 ; 044C 0454 04A6 0517 ; L03AA= 03A4 ; L03AB= 03AD 03CF 0469 04A8 07E4 ; L03B4= 027F 033F 03C6 03FE 04B2 06CD 07B6 ; L03C0= 03C8 0400 ; L03C6= 065C ; L03D4= 0402 ; L03DB= 0419 ; L03DF= 0421 ; L03E3= 0429 ; L03E7= 0431 ; L03EB= 0439 ; L03EF= 0441 ; L03F3= 0449 ; L03F7= 0451 ; L03FB= 047C 0667 0692 ; L0416= 0462 ; L041E= 0416 ; L0426= 041E ; L042E= 0426 ; L0436= 042E ; L043E= 0436 ; L0446= 043E ; L044E= 0446 ; L0456= 044E 0465 ; L0467= 0459 ; L0469= 0456 045C 045F ; L046D= 03FB ; LTMOUT= 04AD ; L0476= 0736 ; L0498= 04A1 ; L04A6= 04B0 ; L04AC= 0489 0493 049E ; L04AD= 0482 0490 ; L04B2= 069F ; L04BC= 04C0 ; L04CC= 04D0 ; L04DB= 04D6 ; L04E4= 078A ; L04F1= 04FA ; L050A= 050E ; L051E= 026A 0293 04FC 068E 069D 0729 0734 ; L0528= 04AA 06A2 06FC 07E6 ; L0532= 0562 056D 0578 ; L053D= 0559 ; L0544= 0541 ; L0557= 0544 ; L055E= 05B6 05D6 ; L0560= 0566 ; L0568= 0564 ; L0569= 05DC ; L056B= 0571 ; L0573= 056F ; L0574= 05CB ; L0576= 057C ; L057E= 057A ; L057F= 059C 05A8 ; L0588= 0593 ; L0591= 0588 058B ; L059A= 05A1 ; L05A3= 059E ; L05A4= 0498 ; L05A6= 05AD ; L05AF= 05AA ; L05B0= 0480 048E 066F ; L05B6= 05BA 05DA 05DE ; L05BD= 05B8 ; L05C3= 05C0 ; L05C9= 05C6 ; L05CD= 05C3 05C9 ; L05CE= 05E0 ; L05D4= 05CE ; L05DC= 05D4 ; L05E0= 05D8 ; L05E3= 07E0 ; L05E6= 05E3 ; L05EB= 05E8 ; L05EF= 05E6 05EB ; L05F6= 05EF ; L05FD= 05F6 ; L0602= 05FD ; L0605= 0600 ; L0609= 0602 ; L060E= 0609 ; L0611= 060C ; L0615= 060E ; L061C= 0615 ; L0623= 061C ; L062A= 0623 ; L0631= 062A ; L0636= 05F4 05FB 0607 0613 061A 0621 0628 062F ; L0639= 0631 ; L0640= 0639 ; L0645= 0640 ; L064A= 0645 ; L064F= 064A ; L0659= 064F ; L065F= 0659 ; L0664= 065F ; L0667= 0662 ; L066A= 0664 ; L0671= 066A ; L0672= 07D9 ; L0675= 0672 ; L0689= 067B ; L0695= 0675 ; L06A2= 068B 0695 ; Start= 0000 07B1 07BF ; L06D5= 06D7 ; L070F= 070C ; L0711= 070A ; L071A= 070F ; L0724= 071E ; L072B= 0726 ; L072F= 0761 07EF ; L0738= 072F ; L073E= 0748 ; L074F= 0759 ; L0761= 0738 073B ; L076F= 0766 ; L077C= 0772 ; L0785= 077C ; L078E= 0787 ; L0795= 078E ; L079C= 0795 ; L07A5= 079C ; L07AE= 07A5 ; L07B3= 07AE ; L07BB= 07BD ; L07C1= 07B3 ; L07CA= 07C1 ; L07CD= 07CA ; L07D2= 07CF ; L07D7= 07D4 ; L07D9= 07CD ; L07DD= 07D2 07D7 ; L07E4= 0783 078C 07A3 07AC ; L07E6= 076D ; L07E8= 077A 07C8 07DB 07DD 07E2 ; L07EF= 07E8 ; ; Cross-references to Data Memory locations ; ; ; M: 01= 022C 0245 ; M: 0C= 00BE 00C3 012C ; M: 0D= 0211 0215 0476 0522 052C 076F ; M: 0E= 01F6 01FA 01FF 075C ; M: 0F= 0202 0206 0656 0687 069A ; M: 10= 01D8 01DB ; M: 11= 01ED 01F0 06C3 ; M: 12= 06C6 ; M: 13= 01C9 01CD 0390 0392 ; M: 14= 01DE 01E2 035A 036D 0397 039C 0538 0557 0583 0591 ; 07B8 07BB ; M: 15= 01E4 01E8 0479 ; M: 16= 01CF 01D3 038A 06C1 ; M: 17= 0378 0381 03B9 ; M: 18= 0236 0243 03BC ; M: 19= 0230 023C 0383 0385 03AB 03B6 ; M: 1A= 0222 024D 071C 0775 0785 ; M: 1B= 0407 0502 067E 068B 0695 071A 0724 ; M: 1C= 017D 018D 0349 034D 06BD ; M: 1D= 0346 ; M: 1E= 024A 025C 0278 0281 028F 04EE 04F1 04F7 0775 ; M: 1F= 0352 035D 05B2 05BE 05CE ; M: 20= 00EE 00FB 0125 013C 013F 014D 0168 016C ; M: 21= 013F 0158 016A 04D2 06BF ; M: 22= 019F 01A5 01A8 01B8 0411 063C ; M: 23= 01A5 01AA 01AC 0411 ; M: 24= 06B7 ; M: 25= 06B9 ; M: 26= 06BB ; M: 27= 033C 0703 0721 ; M: 2C= 009C ; M: 2D= 006C ; M: 46= 0532 053D 0546 ; M: 47= 0535 053F 0550 ; M: 81= 06B1 ; M: 88= 06A8 06F0 ; M: 89= 06D9 ; M: 8A= 01C3 06DC ; M: 8B= 06E2 ; M: 8C= 01C6 06DF ; M: 8D= 06E5 ; M: 90= 00EE 017D 0195 019D 06AB ; M: 98= 06EA ; M: 99= 0222 0239 06E8 ; M: A8= 06A5 06F9 ; M: B0= 06AE ; M: B8= 06ED ; M: D0= 00F3 00F5 0175 0180 0182 0198 06B5 ; M: E0= 00F1 0177 019B 01A2 01BE 01C1 021C 022A 0247 0268 ; 0270 02A8 02B0 02B7 02BD 02C7 02CB 02D4 02DC 02E6 ; 02EC 0679 0689 ; M: F0= 024A 025C 0281 02C1 02E0 02F1 02FC 0302 030E 04F1 ; 054A 054E 0554 0681 06FE 0705 0713 ; ; Cross-references to BIT addressable locations ; ; ; B: 07= 00FD ; B: 0C= 0152 ; B: 0D= 0155 ; B: 10= 01F3 ; B: 18= 0416 ; B: 19= 041E ; B: 1A= 0426 ; B: 1B= 042E ; B: 1C= 0436 ; B: 1D= 043E ; B: 1E= 0446 ; B: 1F= 044E ; B: 20= 0099 0103 0113 ; B: 21= 012A 0356 0361 057F 0588 ; B: 22= 0173 0358 0364 0581 058B ; B: 23= 00A6 073E 0748 ; B: 24= 00B2 074F 0759 ; B: 25= 0121 ; B: 26= 00EA 01AE 03B4 03D1 046B 04E1 06CF ; B: 27= 020E 0525 052F 07DD ; B: 28= 0772 0778 07C6 ; B: 29= 077C 0781 0791 0798 ; B: 2A= 024F 025F 0284 0793 079A 079F 07A8 ; B: 2C= 0190 034B ; B: 2D= 0209 045F 072F 0732 ; B: 2E= 01FD 045C 073B 075F ; B: 2F= 0218 0766 0769 ; B: 30= 021A 0225 036A 0399 0459 0489 0493 049E 0761 0764 ; 076B 07ED ; B: 31= 0467 07E8 07EB ; B: 32= 01BC 0414 0462 ; B: 33= 01EB 0456 ; B: 38= 020B ; B: 39= 0738 ; B: 3A= 0096 0107 0115 012F 0142 01B1 03FB 0643 0648 0652 ; 0690 0698 ; B: 3B= 064D 0654 067B ; B: 88= 06F3 ; B: 8A= 06F5 ; B: 98= 0227 ; B: 99= 01D6 021F 022E ; B: A8= 072B ; B: AA= 072D ; B: AF= 0376 038D ; B: B1= 02F4 02FA 0308 030C 0316 031D 0326 032E 0335 ; B: B4= 017A 0192 ; B: B5= 00F8 ; B: B7= 02F6 0306 0314 031B 0324 032A 0333 0339 ; B: D5= 0367 0373 0482 0490 058E 0595 059E 05AA 05B0 05D1 ; ; B: E4= 04D6 04DB ; B: E6= 015A 04D9 ; B: E7= 04DD ; ; Immediate Byte references ; ; ; #: 00= 009E 012C 018D 033C 0346 03B6 052C 0532 0535 055B ; 0656 069A 06A5 06A8 0721 ; #: 01= 0387 0611 06ED 0711 0718 0726 ; #: 02= 0258 038A 03AF 04E6 0605 ; #: 03= 00C5 035A 0538 0583 0744 0755 ; #: 04= 01F0 0354 0485 048C 049A 055E 0569 0574 0598 059A ; 05A4 05F9 06C3 ; #: 05= 00A8 0510 0685 ; #: 06= 047E 066D 07B8 ; #: 07= 00AD ; #: 08= 00F5 0182 027B 029B 02F1 0302 04EC 0508 05A6 05C0 ; 05F2 074B ; #: 09= 00B4 0496 05C6 0672 07CA ; #: 0A= 0136 0188 04C2 054A ; #: 0B= 00B9 ; #: 0C= 0100 ; #: 0D= 0079 0132 ; #: 0E= 0110 ; #: 0F= 0083 015D 0163 0548 0552 0677 ; #: 10= 0479 04BA 04CA 056B 0618 ; #: 11= 008D ; #: 13= 0092 0631 ; #: 15= 0056 ; #: 17= 005B ; #: 19= 0060 05B4 ; #: 1B= 0065 07B3 ; #: 1D= 0185 ; #: 1E= 0681 ; #: 20= 010A 0145 040D 0560 061F 070C ; #: 21= 06D9 ; #: 28= 015F 04B8 06D1 ; #: 2B= 0609 ; #: 2D= 05FD ; #: 2F= 0664 ; #: 30= 0409 04D4 ; #: 31= 07CF ; #: 38= 011E 0165 ; #: 39= 07D4 ; #: 3C= 01FF 06C6 075C ; #: 3D= 060E ; #: 3F= 065F ; #: 40= 062D 0740 0751 ; #: 41= 05E8 064A ; #: 44= 05EF ; #: 47= 0069 0170 0623 ; #: 48= 0241 037F 03B9 03BC ; #: 49= 00A0 062A ; #: 4C= 061C ; #: 4E= 064F ; #: 4F= 06D3 ; #: 50= 06EA 06F0 ; #: 51= 0541 0645 ; #: 52= 0615 ; #: 54= 0087 0640 ; #: 55= 05F6 ; #: 56= 0659 ; #: 5A= 066A ; #: 5F= 0602 ; #: 60= 027D 0299 04EA 0506 ; #: 65= 006E ; #: 67= 06B1 ; #: 68= 023E 037C ; #: 70= 02AA ; #: 7B= 05E3 ; #: 7F= 013C ; #: 80= 0127 04B4 0626 ; #: 92= 06F9 ; #: A0= 02B9 02D6 0476 0522 076F ; #: A1= 02D2 ; #: A2= 02BF 02DE ; #: A3= 02DA ; #: C0= 0053 0071 008A 00A3 04C6 0576 0634 ; #: C4= 0058 0076 00AA ; #: C9= 005D 007B 008F 00AF ; #: CD= 0062 0080 00B6 01C3 06DC ; #: CF= 051E ; #: DF= 05ED ; #: E0= 0105 ; #: E1= 0118 ; #: E3= 01B4 0639 ; #: E4= 04FE 0787 ; #: E5= 026C 078E ; #: E6= 0795 ; #: E7= 0295 079C ; #: E8= 07A5 ; #: E9= 07C1 ; #: EE= 0274 02A3 0519 ; #: EF= 071E 07AE ; #: F0= 04EE ; #: F6= 06FE ; #: F8= 01C6 06DF 0705 0713 ; #: FA= 01DB 06E2 06E5 ; #: FF= 014B 0195 0341 0528 063C 06AB 06AE 06C9 ; ; .END