CR EQU 0DH LF EQU 0AH ORG 100H JMP A0110 DB ' 1982.05.10' A0110: LXI SP,050CH LXI D,B03F6 CALL A02C5 MVI A,20H STA A0285 LXI H,005DH CMP M JZ A03B4 LXI H,006DH CMP M JZ A03B4 LXI H,005CH MVI B,20H A0131: MOV A,M CPI 3FH JZ A03B4 INX H DCR B JNZ A0131 MVI B,0CH LXI D,006CH LXI H,A0286 A0144: LDAX D MOV M,A MVI A,00 STAX D INX D INX H DCR B JNZ A0144 MVI B,15H A0151: MVI M,00 STAX D INX D INX H DCR B JNZ A0151 LXI D,005CH CALL A02D7 CPI 0FFH JZ A03BD LXI D,A0286 CALL A02D7 CPI 0FFH JZ A03BD A0170: LXI H,A02B0 MVI M,00 LXI H,050CH A0178: LDA 0007 SUI 04H SUB H JC A01A3 LXI D,0080H DAD D XCHG CALL A02CB XCHG LXI D,005CH CALL A02D1 CPI 00 JNZ A01A8 PUSH H LXI H,A02AA INR M JNZ A019F INX H INR M A019F: POP H JMP A0178 A01A3: LXI H,A02B0 MVI M,01 A01A8: LXI H,058CH LXI D,0080H CALL A02CB A01B1: LXI D,A0286 CALL A02D1 CPI 00 JNZ A0229 PUSH H LXI H,A02AC INR M JNZ A01C6 INX H INR M A01C6: CALL A030D POP H PUSH H PUSH D LXI D,A02AD LXI H,A02AB LDAX D CMP M JC A01ED DCX H DCX D XCHG LDAX D CMP M JNC A01ED POP D POP H CALL A02FC LXI D,B0453 CALL A02C5 JMP A0276 A01ED: POP D POP H MVI B,00 LXI D,0080H A01F4: LDAX D CMP M CNZ A02E3 INX D INX H MOV A,B INR B CPI 7FH JNZ A01F4 PUSH H PUSH D LXI H,A02B0 MOV A,M CPI 01 JNZ A0224 LXI H,A02AC LXI D,A02AA LDAX D CMP M JNZ A0224 INX D LDAX D INX H CMP M JNZ A0224 POP D POP H JMP A0170 A0224: POP D POP H JMP A01B1 A0229: LXI H,A02AA LXI D,A02AC LDAX D CMP M JNZ A023B INX H INX D LDAX D CMP M JZ A025E A023B: CALL A02FC LXI D,B043B CALL A02C5 CALL A030D LXI D,B0448 CALL A02C5 LXI H,B0467 MVI B,04H A0252: MOV E,M CALL A02B8 INX H DCR B JNZ A0252 JMP A0276 A025E: LXI H,A02B0 MOV A,M CPI 01 JZ A0170 LXI D,A0285 LDAX D CPI 00 JZ A0276 LXI D,B03C6 CALL A02C5 A0276: LXI D,005CH CALL A02DD LXI D,A0286 CALL A02DD JMP 0000 A0285: XCHG A0286: CALL A02CB XCHG LXI D,005CH CALL A02D1 CPI 00 JNZ A01A8 PUSH H LXI H,A02AA INR M JNZ A019F INX H INR M POP H JMP A0178 LXI H,A02B0 MVI M,00 NOP NOP A02AA: NOP A02AB: NOP A02AC: NOP A02AD: NOP A02AF: EQU $+1 A02B0: EQU $+2 A02AE: CALL A02CB MVI E,0DH CALL A02B8 MVI E,0AH A02B8: PUSH B MVI C,02 A02BB: PUSH H PUSH D CALL 0005 POP D POP H POP B ANA A RET A02C5: PUSH B MVI C,09 JMP A02BB A02CB: PUSH B MVI C,1AH JMP A02BB A02D1: PUSH B MVI C,14H JMP A02BB A02D7: PUSH B MVI C,0FH JMP A02BB A02DD: PUSH B MVI C,10H JMP A02BB A02E3: PUSH B PUSH D PUSH H CALL A037C CALL A02FC LXI D,B0476 CALL A0331 LXI D,B0460 CALL A02C5 POP H POP D POP B RET A02FC: LXI D,A0285 LDAX D CPI 00 RZ MVI A,00 STAX D LXI D,B03D6 CALL A02C5 RET A030D: LXI H,B046A INR M MOV A,M CPI 3AH RNZ CALL A0321 RNZ CALL A0321 RNZ CALL A0321 RET A0321: MVI M,30H DCX H INR M MOV A,M CPI 21H JNZ A032D MVI M,31H A032D: MOV A,M CPI 3AH RET A0331: LXI H,A02AE MVI M,00 MVI A,20H XCHG PUSH H MOV M,A INX H MOV M,A INX H MOV M,A INX H MOV M,A POP H MOV A,B CPI 64H CNC A0354 INX H MVI D,00 A034B: SUI 0AH JC A0360 INR D JMP A034B A0354: MVI M,31H SUI 64H PUSH H LXI H,A02AE MVI M,01 POP H RET A0360: ADI 3AH INX H MOV M,A MOV A,D DCX H ADI 30H MOV M,A CPI 30H JNZ A037B PUSH H LXI H,A02AE MOV A,M CPI 00 POP H JNZ A037B MVI M,20H A037B: RET A037C: LXI D,B0487 CALL A038A MOV A,M LXI D,B0482 CALL A038A RET A038A: STA A02AF ANI 0F0H RRC RRC RRC RRC CPI 0AH JC A039D ADI 37H JMP A039F A039D: ADI 30H A039F: STAX D INX D LDA A02AF ANI 0FH CPI 0AH JC A03B0 ADI 37H JMP A03B2 A03B0: ADI 30H A03B2: STAX D RET A03B4: LXI D,B03E7 CALL A02C5 JMP 0000 A03BD: LXI D,B042E CALL A02C5 JMP 0000 B03C6: DB CR,LF,'VERIFY PASS',CR,LF,'$' B03D6: DB CR,LF,'VERIFY ERROR',CR,LF,'$' B03E7: DB CR,LF,'Syntax error$' B03F6: DB 'VERIFY- FILE & FILE CHECK - VER 2.0',CR,LF,'$' B041C: DB CR,LF,'Disk read error$' B042E: DB CR,LF,'Open error$' B043B: DB 'READ ERROR',CR,LF,'$' B0448: DB 'SECTOR NO',02EH,'$' B0453: DB 'LENGTH ERROR$' B0460: DB 'SECTOR ' B0467: DB ' ' B046A: DB '0 POSITION ' B0476: DB ' DATA ' B0482: DB ' , ' B0487: DB ' ',CR,LF,'$' END