; ; Disassembled by: ; DASMx object code disassembler ; (c) Copyright 1996-2003 Conquest Consultants ; Version 1.40 (Oct 18 2003) ; ; File: wd1015-14.bin ; ; Size: 2048 bytes ; Checksum: BFDD ; CRC-32: 45639130 ; ; Date: Thu Aug 02 00:50:17 2018 ; ; CPU: Intel 8048 (MCS-48 family) ; ; ; org 00000H ; anl p2,#0DFH call L00BA L0004: mov r0,#04DH mov r1,#002H L0008: call L007F call L0098 call L0098 L000E: call L0705 jnz L0016 jni L0017 jmp L000E ; L0016: outl p1,a L0017: clr a mov psw,a L0019: jni L001D jmp L0019 ; L001D: mov r2,#002H clr a call L00C1 mov r2,#002H call L07E7 mov r1,#020H mov r2,#006H call L03DC mov r0,#028H mov r1,#007H call L007F mov r0,#049H mov @r0,#062H mov r1,#021H mov a,@r1 jb5 L003D mov @r0,#04FH L003D: dec r1 mov a,@r1 add a,#0F0H mov a,@r1 jnc L0052 add a,#020H jc L004C L0048: mov r3,#020H jmp L0054 ; L004C: add a,#0F9H jc L0048 add a,#017H L0052: call L0129 L0054: call L00A4 call L00F3 mov a,r3 mov r0,#028H orl a,@r0 mov @r1,a mov r2,#003H jb7 L006A mov r0,#023H inc r1 inc r1 inc r1 call L03E5 jmp L0017 ; L006A: mov r0,#021H mov a,@r0 anl a,#020H mov r0,#04DH orl a,@r0 L0072: inc r1 mov @r1,a dec r0 mov a,@r0 djnz r2,L0072 rr a rr a dec r1 orl a,@r1 mov @r1,a jmp L0017 ; L007F: clr a L0080: mov @r0,a inc r0 djnz r1,L0080 ret ; db 001H ; jb1 L0004 inc @r1 outl bus,a mov @r0,a nop nop nop nop nop nop nop anl p1,#000H anl p1,#00BH inc r0 ; db 001H ; L0098: mov r2,#085H mov r3,#013H L009C: mov a,r2 movp a,@a mov @r0,a inc r0 inc r2 djnz r3,L009C ret ; L00A4: call L07E5 mov r1,#021H mov a,@r1 anl a,#020H xch a,r3 jz L00B0 inc r3 inc r3 L00B0: xch a,r3 movx @r0,a mov r2,#007H mov a,#008H anl p1,#0CFH call L00C1 L00BA: mov a,#0F8H outl p2,a mov a,#040H outl p1,a ret ; L00C1: call L00C9 call L07E7 orl p2,#002H jmp L00E5 ; L00C9: mov r1,a in a,p1 anl a,#037H orl a,r1 outl p1,a ret ; L00D0: orl a,#080H call L00C9 call L00DB call L07D7 orl p2,#002H ret ; L00DB: mov a,#004H call L00EE mov a,@r0 orl a,#002H ret ; L00E3: call L00D0 L00E5: jt0 L00E5 anl p2,#0FDH orl p2,#010H ret ; L00EC: mov a,#012H L00EE: mov r0,#049H add a,@r0 mov r0,a ret ; L00F3: mov a,#008H L00F5: mov r1,#049H add a,@r1 mov r1,a ret ; nop nop nop nop movp a,@a ret ; addc a,r0 inc a xch a,r2 xch a,r5 inc r1 movx @r1,a inc r3 inc r5 inc r7 xch a,r2 xch a,@r1 mov a,#04DH outl p1,a call L036E clr a xch a,r2 xch a,r2 ; db 09BH ; en tcnti orld p5,a clr c jmp L0300 jmp L0610 jmp L062A jmp L0600 jmp L0404 jmp L0486 jmp L0351 jmp L0705 jmp L078A L0129: jmpp @a ;INFO: indirect jump ; mov r3,#020H L012C: ret ; call L00F3 call L03CC mov r2,#004H call L0141 call L00A4 jmp L0017 ; call L07E5 mov r1,#04EH mov a,@r1 movx @r0,a mov r2,#007H L0141: mov a,#048H mov r3,#000H jmp L00C1 ; L0147: call L0167 movx a,@r0 inc r1 mov @r1,a ret ; mov r2,#000H mov a,#040H call L00C1 call L07D6 mov a,#000H call L0147 mov a,#002H call L0167 mov a,#00EH call L0147 mov a,#00CH call L0147 mov a,#010H L0167: call L00F5 movx a,@r0 mov @r1,a L016B: clr a mov r3,a ret ; mov a,#040H L0170: call L00E3 jmp L016B ; L0174: mov a,#048H jmp L0170 ; call L03A8 mov a,#007H movx @r1,a movx a,@r0 mov r3,#003H jb5 L012C mov r3,#004H cpl a jb6 L012C mov r3,#008H jb4 L012C jmp L016B ; anl p2,#0FBH jmp L0406 ; orl p2,#004H mov a,#0FFH jmp L0407 ; anl p2,#0FBH jmp L0488 ; mov r0,#021H mov a,@r0 anl a,#0E0H mov @r0,a clr a inc r0 mov @r0,a inc r0 mov @r0,a call L0669 jnz L012C L01AA: call L0355 jnz L012C call L05B6 jb1 L012C jz L01B9 mov a,#0E7H add a,r3 jnz L012C L01B9: call L04DE jb0 L016B jmp L01AA ; L01BF: call L04C6 mov r0,#021H mov a,@r0 anl a,#01FH mov r1,#04DH mov @r1,a inc r0 mov a,@r0 anl a,#03FH dec r1 mov @r1,a mov a,@r0 rl a rl a anl a,#003H mov r1,#04AH mov @r1,a inc r0 mov a,@r0 inc r1 mov @r1,a mov r0,#028H mov @r0,#080H mov a,#001H call L02D8 jc L01F2 inc r0 mov a,#003H call L01F6 jc L01F2 mov a,#002H call L01F6 jnc L016B L01F2: mov a,#021H mov r3,a ret ; L01F6: inc r0 L01F7: call L00F5 mov a,@r1 cpl a inc a add a,@r0 ret ; movp a,@a ret ; xch a,r0 orl a,#029H xch a,@r0 xchd a,@r1 outl p1,a ; db 038H, 033H ; xch a,@r0 da a stop tcnt ; db 073H ; call L0365 jb3 L026E xch a,@r0 jmp L0269 ; rrc a add a,r1 call L0361 add a,r4 L0218: call L07D0 call L0257 mov a,#021H L021E: call L024C mov r0,#026H mov a,@r0 movx @r1,a in a,p2 cpl a jb2 L022B mov r0,#0A0H movx a,@r0 L022B: anl p2,#0E7H jmp L026B ; L022F: in a,p2 jb2 L0244 anl p2,#0F7H mov r1,#060H clr a movx @r1,a orl p2,#008H cpl a movx @r1,a anl p2,#0F3H mov r0,#0E0H mov r1,#034H call L03CE L0244: call L07D0 L0246: call L0257 mov a,#031H jmp L021E ; L024C: mov r2,#007H L024E: mov r1,#060H xch a,r2 movx @r1,a mov r0,#020H mov a,r2 movx @r0,a L0256: ret ; L0257: mov r0,#04CH mov a,@r0 mov r2,#003H jmp L024E ; L025E: mov a,#007H L0260: mov r1,#060H movx @r1,a mov r0,#020H movx a,@r0 ret ; L0267: mov a,#041H L0269: call L024C L026B: jt1 L026F jmp L026B ; L026F: orl p2,#018H in a,p2 mov r2,a call L025E mov r3,#003H jb5 L0293 jb0 L027E clr a mov r3,a ret ; L027E: mov a,#001H movx @r1,a movx a,@r0 mov r3,#004H jb2 L0293 mov r3,#019H jb7 L0293 mov r3,#012H jb0 L0290 mov r3,#015H L0290: mov a,#002H ret ; L0293: mov a,#001H ret ; L0296: call L00E5 in a,p2 jb2 L0256 mov r1,#030H anl p2,#0F7H mov r0,#0E0H call L03DA mov r1,#030H call L03CC mov r2,#004H mov a,#048H jmp L00C1 ; L02AD: call L00E5 in a,p2 jb2 L0256 mov r2,#004H mov a,#040H call L00C1 mov r1,#034H jmp L03D8 ; L02BC: mov a,#00EH call L00EE mov a,@r0 rrc a mov r2,a inc r0 mov a,@r0 rrc a xch a,r2 rrc a mov a,r2 rrc a mov r2,#001H call L024E mov a,#00DH call L02D8 cpl c in a,p1 rl a rrc a outl p1,a ret ; L02D8: call L00EE mov r1,#005H call L03EA call L02EA mov r0,#04BH mov a,@r0 add a,r5 mov r5,a dec r0 mov a,@r0 addc a,r4 mov r4,a ret ; L02EA: mov a,r5 cpl a add a,#001H mov r5,a mov a,r4 cpl a addc a,#000H mov r4,a ret ; L02F5: mov a,@r0 xrl a,@r1 L02F7: inc r0 inc r1 jnz L0256 mov a,@r0 xrl a,@r1 ret ; movp a,@a ret ; L0300: call L0346 jnz L0325 call L00EC mov @r0,a mov a,#006H call L00F5 clr a mov @r1,a inc r1 mov @r1,a mov r4,#004H mov r5,#000H L0313: in a,p2 jb6 L0326 orl p2,#001H anl p2,#0FEH call L032A jnz L0325 djnz r5,L0313 djnz r4,L0313 mov r3,#006H mov a,r3 L0325: ret ; L0326: mov a,#011H call L024C L032A: mov r0,#020H mov r1,#05DH L032E: movx a,@r0 mov r3,#003H jb5 L033C cpl a mov r3,#004H jb6 L033C jb4 L033E mov r3,#000H L033C: mov a,r3 ret ; L033E: djnz r2,L032E djnz r1,L032E mov r3,#002H mov a,r3 ret ; L0346: call L03A8 orl p1,#080H mov a,#007H mov r0,#060H movx @r0,a jmp L032A ; L0351: call L01BF jb0 L0325 L0355: mov r1,#021H mov a,@r1 mov r1,#061H jb5 L035F mov r1,#074H cpl a L035F: mov @r1,a call L0346 jnz L0325 mov a,#007H call L02D8 inc r0 mov a,#007H call L00F5 call L03EA mov a,r4 jb7 L0376 anl p1,#07FH jmp L0378 ; L0376: call L02EA L0378: orl a,r5 jz L03A6 call L00EC mov @r0,a mov a,r5 jz L0382 inc r4 L0382: mov r1,#025H L0384: mov a,#007H anl a,@r1 mov r2,#001H mov r3,#001H add a,#0FBH jz L0398 mov r3,#014H inc a jz L0398 mov r2,#002H mov r3,#0E4H L0398: orl p2,#001H anl p2,#0FEH L039C: djnz r3,L039C djnz r2,L039C djnz r5,L0382 djnz r4,L0384 jnz L032A L03A6: mov r3,a ret ; L03A8: anl p2,#0FEH mov r0,#021H mov a,@r0 anl a,#020H rr a mov r2,a rr a xch a,r2 add a,#010H mov r1,#04DH orl a,@r1 mov r0,a in a,p1 anl a,#048H orl a,r0 outl p1,a mov a,#005H call L00EE mov a,@r0 orl a,r2 orl a,@r1 mov r0,#027H mov @r0,a mov r2,#006H jmp L024E ; L03CC: call L07E1 L03CE: mov r2,#004H L03D0: mov a,@r1 movx @r0,a inc r1 djnz r2,L03D0 L03D5: orl p2,#018H ret ; L03D8: call L07E1 L03DA: mov r2,#004H L03DC: movx a,@r0 mov @r1,a inc r1 djnz r2,L03DC jmp L03D5 ; L03E3: dec r0 dec r1 L03E5: mov a,@r0 mov @r1,a djnz r2,L03E3 ret ; L03EA: mov r2,#002H jmp L03E5 ; nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop movp a,@a ret L0400: jmp L0503 L0402: jmp L02AD ; L0404: orl p2,#004H L0406: clr a L0407: mov r0,#04EH mov @r0,#000H mov r0,#02FH mov @r0,a call L01BF jb0 L044C L0412: call L0355 jnz L044C call L05B1 jb0 L044C jb1 L0451 L041C: call L0218 jb0 L044C jb1 L044D in a,p2 cpl a jb2 L0429 mov a,r2 jb7 L0457 L0429: mov r0,#02FH mov a,@r0 jnz L0432 mov a,#048H call L00D0 L0432: call L04C6 mov r0,#024H mov a,@r0 dec a jz L0447 mov @r0,a call L04D9 mov r7,a call L0296 mov a,r7 jb0 L044C jb2 L0412 jmp L041C ; L0447: call L0296 L0449: mov r3,#000H L044B: mov a,r3 L044C: ret ; L044D: call L0477 jnz L041C L0451: call L047C jnz L044C jmp L0412 ; L0457: anl p2,#0F7H mov r0,#0E0H mov r1,#02BH mov r2,#004H clr f0 cpl f0 L0461: movx a,@r0 xch a,@r1 xrl a,@r1 jz L0467 clr f0 L0467: inc r1 djnz r2,L0461 orl p2,#008H jf0 L0400 mov r0,#025H mov a,@r0 jb6 L0400 mov r3,#011H jmp L044D ; L0477: mov r0,#02AH mov a,@r0 inc @r0 ret ; L047C: mov r0,#029H mov a,@r0 inc @r0 jz L044B call L04CF jmp L0300 ; L0486: orl p2,#004H L0488: mov a,#040H call L00D0 call L01BF jb0 L0402 L0490: call L02AD L0492: call L0355 jnz L044C call L05B1 jb0 L044C jb1 L04C0 call L02BC L049E: call L022F jb0 L044C jb1 L04BC mov r0,#024H mov a,@r0 dec a mov r3,a jz L044C mov @r0,a mov a,#040H call L00D0 call L04C6 call L04D9 jb0 L0402 jb2 L0490 call L02AD jmp L049E ; L04BC: call L0477 jnz L049E L04C0: call L047C jnz L044C jmp L0492 ; L04C6: mov r0,#025H mov a,@r0 jb7 L044C mov r0,#029H mov @r0,#0FFH L04CF: mov r0,#025H mov a,@r0 jb7 L044C mov r0,#02AH mov @r0,#0F8H ret ; L04D9: call L06EB jnz L0449 mov @r0,a L04DE: mov r0,#04DH inc @r0 mov a,#002H call L01F7 jnz L04FA mov @r0,a mov r1,#04BH inc @r1 mov a,@r1 dec r1 jnz L04F0 inc @r1 L04F0: mov a,#000H call L00EE call L02F5 mov r3,#021H jz L04FC L04FA: mov r3,#004H L04FC: mov a,r3 ret ; movp a,@a ret jmp L0008 ; inc @r0 L0503: mov r0,#02EH mov r1,#005H mov r2,#003H call L03E5 dec r0 mov a,@r0 mov r2,a mov a,#004H call L00F5 mov a,@r1 movp a,@a mov r6,a mov r7,#007H clr f1 L0518: mov a,r2 jnz L0529 mov a,r7 add a,#008H mov r7,a clr a addc a,r6 mov r6,a clr a xch a,r5 xch a,r4 xch a,r3 mov r2,a jmp L0518 ; L0529: clr c mov a,r2 rrc a mov r2,a mov a,r3 rrc a mov r3,a mov a,r4 rrc a mov r4,a mov a,r5 rrc a mov r5,a jnc L0548 mov a,r5 xrl a,#022H mov r5,a mov a,r4 xrl a,#002H mov r4,a mov a,r3 xrl a,#005H mov r3,a mov a,r2 xrl a,#08AH mov r2,a L0548: jf1 L0569 mov a,r2 orl a,r5 jnz L0570 mov r0,#010H mov a,r4 mov r1,a mov a,r3 L0553: rrc a xch a,r1 rrc a xch a,r1 jc L055B djnz r0,L0553 L055B: mov a,#010H call L00F5 mov a,@r1 cpl a add a,r0 jc L0570 mov r1,#04EH mov a,r0 mov @r1,a cpl f1 L0569: mov a,r7 anl a,#007H jnz L0574 jmp L057D ; L0570: mov a,r6 orl a,r7 jz L05A5 L0574: mov a,#0FFH add a,r7 mov r7,a jc L0529 dec r6 jmp L0529 ; L057D: mov r1,#003H clr c L0580: mov a,r6 rrc a mov r6,a mov a,r7 rrc a mov r7,a djnz r1,L0580 call L05A8 movx a,@r0 xrl a,r3 mov r3,a movx a,@r0 xrl a,r4 mov r4,a movx a,@r0 xrl a,r5 mov r5,a call L05A8 mov a,r3 movx @r0,a mov a,r4 movx @r0,a mov a,r5 movx @r0,a mov r0,#02FH mov a,@r0 jnz L05A2 call L0174 L05A2: mov r3,#018H L05A4: ret ; L05A5: mov r3,#011H ret ; L05A8: call L00DB add a,r6 call L07D7 mov a,r7 mov r2,a jmp L07EB ; L05B1: call L00EC mov a,@r0 jz L05A4 L05B6: call L0267 jz L05C2 mov r5,a mov a,#0E7H add a,r3 jz L05C2 mov a,r5 ret ; L05C2: mov a,#003H movx @r1,a movx a,@r0 mov r5,a mov a,#004H movx @r1,a movx a,@r0 mov r4,a mov a,#005H movx @r1,a movx a,@r0 mov r3,a mov a,#006H movx @r1,a movx a,@r0 mov r0,#027H xrl a,@r0 jnz L05EC mov r0,#04AH mov r1,#003H call L02F5 jnz L05EC mov a,r5 mov r3,#019H jb7 L05F1 call L00EC clr a mov @r0,a ret ; L05EC: mov r3,#015H mov a,#002H ret ; L05F1: mov a,#001H ret ; nop nop nop nop nop nop nop nop nop nop movp a,@a ret ; L0600: call L0669 jnz L063E mov r7,#080H call L0673 jc L063E call L06B1 jnz L063E jmp L063A ; L0610: call L0669 jnz L063E call L0671 jc L063E L0618: call L0355 jnz L063E call L06B5 jnz L063E call L0649 jnz L063E call L063F jb0 L063C jmp L0618 ; L062A: call L0669 jnz L063E call L0671 jc L063E call L06B1 jnz L063E call L0649 jnz L063E L063A: call L063F L063C: clr a mov r3,a L063E: ret ; L063F: mov r0,#022H mov a,@r0 anl a,#03FH mov r0,#04CH mov @r0,a jmp L04DE ; L0649: orl p2,#004H mov r0,#04CH mov @r0,a L064E: call L04C6 L0650: call L0246 jb0 L063E jb1 L065B call L06EB jnz L064E ret ; L065B: call L0477 jnz L0650 call L047C jnz L063E call L0355 jnz L063E jmp L0650 ; L0669: call L01BF jb0 L063E call L07D0 jmp L0300 ; L0671: mov r7,#000H L0673: mov r0,#024H call L06EE mov r3,#020H jc L063E mov a,@r0 mov r2,a mov r0,#049H mov r3,#011H L0681: dec r0 mov @r0,#0FFH djnz r3,L0681 L0686: mov a,@r0 jb7 L068C inc r0 jmp L0696 ; L068C: mov a,r3 mov @r0,a inc r3 inc a xrl a,@r1 jz L06A3 mov a,r2 add a,r0 mov r0,a L0696: mov a,@r1 cpl a inc a add a,r0 add a,#0C8H jnc L0686 add a,#038H mov r0,a jmp L0696 ; L06A3: call L07D6 mov r1,#038H L06A7: mov a,r7 movx @r0,a add a,@r1 movx @r0,a inc r1 djnz r3,L06A7 orl p2,#010H ret ; L06B1: call L0355 jnz L063E L06B5: call L02BC call L06E1 mov a,#003H call L00F5 mov a,@r1 mov r2,#002H call L024E mov a,#011H call L00F5 mov a,@r1 mov r2,#003H call L024E mov r0,#04AH mov a,@r0 mov r2,#005H call L024E mov r0,#04BH mov a,@r0 mov r2,#004H call L024E mov a,#051H call L024C call L07D6 call L026B L06E1: mov r4,a mov a,#006H call L0260 xrl a,#080H movx @r0,a mov a,r4 ret ; L06EB: mov r0,#04CH inc @r0 L06EE: mov a,#003H jmp L01F7 ; nop nop nop nop nop nop nop nop nop nop nop nop movp a,@a ret ; call L02F7 jmp L07B5 ; db 0B7H ; L0705: in a,p1 xrl a,#080H outl p1,a mov r7,#045H mov r3,#031H mov r1,#0FFH mov r4,#0FFH mov a,psw anl a,#007H rl a add a,#008H mov r0,a mov @r0,#02AH inc r0 mov @r0,#007H inc r0 mov @r0,#0FEH inc r0 mov a,#007H L0723: mov @r0,a L0724: mov a,psw inc a inc a mov psw,a mov a,r1 L0729: ret ; add a,r4 rl a mov r4,a djnz r1,L0724 mov a,@r0 add a,#0FFH jc L0723 clr a movp a,@a xrl a,r4 jnz L07B8 call L07C0 L073B: inc r1 mov a,@r1 movx @r0,a djnz r2,L073B dec r7 mov r4,#001H L0743: call L07C0 L0745: call L07C8 mov @r1,a djnz r2,L0745 call L07C0 L074C: call L07C8 xrl a,@r1 jnz L07B1 djnz r2,L074C mov a,r4 add a,r4 xch a,r4 jnz L0743 call L07B1 dec r7 call L078A jnz L07B8 dec r7 mov r3,#032H in a,p2 cpl a jb7 L07B8 mov r2,#001H mov r4,#004H L076A: mov a,r2 movp a,@a movx @r0,a inc r2 djnz r4,L076A in a,p2 jb7 L07B8 orl p2,#008H dec r7 mov r0,#020H mov r1,#060H mov r2,#002H mov r4,#002H L077E: mov a,r2 movx @r1,a movx @r0,a movx a,@r0 xrl a,r2 jnz L07B8 inc r2 djnz r4,L077E mov r3,a ret ; L078A: mov r3,#030H mov r4,#001H L078E: call L07BA L0790: call L07C8 movx @r0,a djnz r6,L0790 djnz r2,L0790 call L07BA orl p2,#01CH mov r1,#0A0H movx a,@r1 anl p2,#0E7H L07A0: call L07C8 movx a,@r0 xrl a,r5 jnz L07B8 djnz r6,L07A0 djnz r2,L07A0 mov a,r4 add a,r4 xch a,r4 jnz L078E mov r3,a ret ; L07B1: call L07C0 L07B3: movx a,@r0 inc r1 L07B5: mov @r1,a djnz r2,L07B3 L07B8: mov a,r7 ret ; L07BA: mov r2,#004H mov r6,#000H jmp L07C4 ; L07C0: mov r1,#01FH mov r2,#060H L07C4: mov a,r4 mov r5,a jmp L07D6 ; L07C8: mov a,r5 jnz L07CC inc a L07CC: add a,r5 mov r5,a inc r1 ret ; L07D0: call L00DB mov r0,#026H mov @r0,a ret ; L07D6: clr a L07D7: mov r0,#060H orl p2,#010H movx @r0,a anl p2,#0EFH mov r0,#000H ret ; L07E1: mov r2,#004H jmp L07E7 ; L07E5: mov r2,#007H L07E7: anl p1,#0FFH call L07D6 L07EB: mov a,r2 jz L0729 L07EE: movx a,@r0 djnz r2,L07EE ret ; nop nop nop nop nop nop nop nop nop nop nop nop movp a,@a ret