KA5.ASM
上传用户:guoguang96
上传日期:2007-01-05
资源大小:488k
文件大小:365k
- MOV BX,DJCDH
- MOV CDHGZ,BX
- CMP HBTZ,0
- JZ SCDMYA
- MOV AL,0FH
- JMP SCDMYB
- SCDMYA: MOV AL,1FH
- SCDMYB: MOV COLORGZ,AL
- CALL SCDM
- RET
- SCDMY ENDP
- ;
- SCDMN PROC NEAR
- MOV BX,CDH
- MOV CDHGZ,BX
- CMP HBTZ,0
- JZ SCDMNA
- MOV AL,70H
- JMP SCDMNB
- SCDMNA: MOV AL,74H
- SCDMNB: MOV COLORGZ,AL
- CALL SCDM
- RET
- SCDMN ENDP
- ;
- SCDM PROC NEAR
- MOV BX,CDHGZ
- DEC BX
- SHL BX,1
- MOV SI,OFFSET CDWZDZ
- MOV DX,[SI+BX]
- MOV GBWZ,DX
- MOV SI,OFFSET CDXXDZ
- MOV SI,[SI+BX]
- MOV CDMJS,8
- SCDMA: LODSB
- MOV AH,COLORGZ
- CALL SZF
- INC GBWZ
- DEC CDMJS
- JNZ SCDMA
- RET
- SCDM ENDP
- ;
- SZF PROC NEAR
- PUSH AX
- MOV DX,GBWZ
- MOV AH,2
- MOV BH,0
- INT 10H
- POP AX
- MOV BH,0
- MOV BL,AH
- MOV AH,9
- MOV CX,1
- INT 10H
- RET
- SZF ENDP
- ;
- ZCDCL PROC NEAR
- ZCDL1: MOV CDCLTZ,0
- MOV AH,7
- INT 21H
- CMP AL,0
- JZ ZCDL2
- CMP AL,0DH
- JZ ZCDL1A
- CMP AL,1BH
- JNZ ZCDL1
- MOV ZCDCLTZ,0FH
- MOV CDCLTZ,0FH
- ZCDL1A: JMP ZCDL9
- ZCDL2:
- MOV AH,7
- INT 21H
- CALL CDCL1
- CMP CDCLTZ,0FH
- JNZ ZCDL2A
- CALL SCDMY
- CALL SCDMN
- JMP ZCDL9
- ZCDL2A: CMP AL,48H
- JZ ZCDL3
- CMP AL,50H
- JZ ZCDL5
- JMP ZCDL1
- ZCDL3: MOV AX,ZCDH
- MOV DJZCDH,AX
- SUB AX,1
- CMP AX,0
- JNZ ZCDL4
- MOV AX,ZCDXS
- SUB AX,1
- ZCDL4: MOV ZCDH,AX
- JMP ZCDL7
- ZCDL5: MOV AX,ZCDH
- MOV DJZCDH,AX
- ADD AX,1
- CMP AX,ZCDXS
- JB ZCDL6
- MOV AX,1
- ZCDL6: MOV ZCDH,AX
- ZCDL7: CALL SZCDMY
- CALL SZCDMN
- JMP ZCDL1
- ZCDL9: RET
- ZCDCL ENDP
- ;
- CDCL PROC NEAR
- PUSH AX
- CDL1: MOV AH,7
- INT 21H
- CMP AL,0
- JZ CDL2
- CMP AL,0DH
- JNZ CDL1
- JMP CDL9
- CDL2: MOV AH,7
- INT 21H
- CALL CDCL1
- CMP CDCLTZ,0FH
- JNZ CDL1
- CALL SCDMY
- CALL SCDMN
- CMP XKTZ,0FH
- JZ CDL8
- CALL CDCLA
- CDL8: ;JMP CDL1
- CDL9: POP AX
- RET
- CDCL ENDP
- ;
- CDCL1 PROC NEAR
- PUSH AX
- MOV CDCLTZ,0
- CMP AL,4BH
- JZ CDL3
- CMP AL,4DH
- JZ CDL5
- JMP CDL7A
- CDL3: MOV CDCLTZ,0FH
- MOV AX,CDH
- MOV DJCDH,AX
- SUB AX,1
- CMP AX,0
- JNZ CDL4
- MOV AX,6
- CDL4: MOV CDH,AX
- JMP CDL7
- CDL5: MOV CDCLTZ,0FH
- MOV AX,CDH
- MOV DJCDH,AX
- ADD AX,1
- CMP AX,7
- JNZ CDL6
- MOV AX,1
- CDL6: MOV CDH,AX
- CDL7: CALL FYGBQ
- CDL7A: POP AX
- RET
- CDCL1 ENDP
- ;
- CDCLA PROC NEAR
- MOV ZSJ,0200H
- MOV YXJ,044FH
- MOV COLOR,17H
- CALL SXFKX
- MOV DX,0304H
- MOV AH,2
- MOV BH,0
- INT 10H
- MOV DX,OFFSET PMZF2
- MOV AH,9
- INT 21H
- CMP SCANTZ,0FH
- JZ CDCLA1
- MOV DX,OFFSET PMZF3
- MOV AH,9
- INT 21H
- JMP CDCLA2
- CDCLA1: MOV DX,OFFSET PMZF4
- MOV AH,9
- INT 21H
- CDCLA2: CALL GSKS
- CALL QXXQ
- MOV XKTZ,0FH
- RET
- CDCLA ENDP
- ;
- QXXQ PROC NEAR
- MOV ZSJ,0500H
- MOV YXJ,154FH
- MOV COLOR,30H
- CALL SXFK
- MOV DX,0601H
- MOV XXGBZC,DX
- MOV BH,0
- MOV AH,2
- INT 10H
- RET
- QXXQ ENDP
- ;
- PMHC PROC NEAR
- PUSH AX
- PUSH BX
- PUSH CX
- PUSH DX
- ; MOV AH,3
- ; INT 10H
- MOV DX,XXGBZC
- MOV DL,1
- PUSH DX
- MOV AH,2
- MOV BH,0
- INT 10H
- MOV CX,4EH
- PMHC1: MOV AL,020H
- MOV AH,0EH
- MOV BL,30H
- INT 10H
- LOOP PMHC1
- POP DX
- MOV AH,2
- MOV BH,0
- INT 10H
- POP DX
- POP CX
- POP BX
- POP AX
- RET
- PMHC ENDP
- ;
- XSDXAX PROC NEAR
- PUSH DS
- MOV DS,DX
- MOV DX,AX
- CALL XS09SC
- POP DS
- RET
- XSDXAX ENDP
- ;
- XS09SC1 PROC NEAR
- CMP FOUNDTZ,0
- JZ XS09L1
- CALL PMHHHC
- JMP XS09L2
- XS09L1: CALL PMHC
- XS09L2: MOV AH,09
- INT 21H
- CALL CXXGB
- RET
- XS09SC1 ENDP
- ;
- XS09SC PROC NEAR
- CALL PMHHHC
- MOV AH,09
- INT 21H
- CALL CXXGB
- MOV FOUNDTZ,1
- RET
- XS09SC ENDP
- ;
- PMHHHC PROC NEAR
- PUSH AX
- PUSH BX
- PUSH CX
- PUSH DX
- MOV DX,XXGBZC
- MOV DL,1
- INC DH
- CMP DH,15H
- JB PMHHHC1
- MOV AX,0601H
- MOV BX,3000H
- MOV CX,0601H
- MOV DX,144EH
- INT 10H
- MOV DX,1401H
- PMHHHC1:
- MOV XXGBZC,DX
- MOV BH,0
- MOV AH,2
- INT 10H
- POP DX
- POP CX
- POP BX
- POP AX
- RET
- PMHHHC ENDP
- ;
- CXXGB PROC NEAR
- PUSHF
- PUSH AX
- PUSH BX
- PUSH CX
- PUSH DX
- MOV AH,3
- MOV BH,0
- INT 10H
- MOV XXGBZC,DX
- POP DX
- POP CX
- POP BX
- POP AX
- POPF
- RET
- CXXGB ENDP
- ;
- EHS PROC NEAR
- PUSH AX
- PUSH BX
- PUSH CX
- PUSH DX
- PUSH SI
- MOV SI,OFFSET EHSJG
- MOV BX,5
- MOV CX,0AH
- EHS1: XOR DX,DX
- DIV CX
- OR DL,30H
- MOV [SI+BX-1],DL
- DEC BX
- JNZ EHS1
- POP SI
- POP DX
- POP CX
- POP BX
- POP AX
- RET
- EHS ENDP
- ;
- SEHS PROC NEAR
- PUSH AX
- PUSH CX
- PUSH SI
- MOV SI,OFFSET EHSJG
- MOV CX,4
- SEHS1: LODSB
- CMP AL,30H
- JNZ SEHS3
- MOV AL,020H
- CALL ZFSC
- DEC CX
- JZ SEHS5
- JMP SEHS1
- SEHS2: LODSB
- SEHS3: CALL ZFSC
- DEC CX
- JZ SEHS5
- JMP SEHS2
- SEHS5: LODSB
- CALL ZFSC
- POP SI
- POP CX
- POP AX
- RET
- SEHS ENDP
- ;
- ZFSC PROC NEAR
- PUSH AX
- PUSH DX
- MOV DL,AL
- MOV AH,2
- INT 21H
- POP DX
- POP AX
- RET
- ZFSC ENDP
- ;
- SDIRGS PROC NEAR
- MOV DX,030FH
- MOV AH,2
- MOV BH,0
- INT 10H
- MOV AX,DIRGS
- CALL EHS
- CALL SEHS
- RET
- SDIRGS ENDP
- ;
- SFILGS PROC NEAR
- MOV DX,0323H
- MOV AH,2
- MOV BH,0
- INT 10H
- MOV AX,FILEGS
- CALL EHS
- CALL SEHS
- RET
- SFILGS ENDP
- ;
- SVIRGS PROC NEAR
- PUSH AX
- PUSH BX
- PUSH DX
- MOV DX,0340H
- MOV AH,2
- MOV BH,0
- INT 10H
- MOV AX,VIRUSGS
- CALL EHS
- CALL SEHS
- POP DX
- POP BX
- POP AX
- RET
- SVIRGS ENDP
- ;
- GSKS PROC NEAR
- MOV DIRGS,0
- CALL SDIRGS
- MOV FILEGS,0
- CALL SFILGS
- MOV VIRUSGS,0
- CALL SVIRGS
- RET
- GSKS ENDP
- ;
- ;CPAVBH_CODE
- UNCPAV PROC NEAR
- PUSH DS
- POP ES
- SX0: CALL BCSX
- JNB SX1
- JMP CPCZC
- SX1: CALL GBSX
- JNC OPEN0
- JMP CPCZC
- OPEN0: MOV AX,3D00H
- MOV DX,OFFSET WJGZQ
- INT 21H
- JNB OPEN2
- JMP CPOPENC
- OPEN2: MOV WJH,AX
- CALL WJZZM
- JNB OPEN3
- JMP CPCZC
- OPEN3: MOV WJCD1,DX
- MOV WJCD2,AX
- MOV ENDJS,0
- TZM0: MOV AX,4202H
- MOV BX,WJH
- MOV CX,0FFFFH
- MOV DX,-40H
- SUB DX,ENDJS
- INT 21H
- JNB TZM1
- JMP CPCZC
- TZM1: MOV DX,OFFSET BDTZHCQ
- MOV BX,WJH
- MOV CX,40H
- MOV AH,3FH
- INT 21H
- JNB TZM2
- JMP CPDWJC
- TZM2: MOV SI,OFFSET VZF2
- MOV DI,OFFSET BDTZHCQ
- ADD DI,3BH
- MOV CX,5H
- REPZ CMPSB
- CMP CX,0
- JZ TZM3
- ADD ENDJS,1
- CMP ENDJS,20H
- JB TZM0
- ; CALL CLOFIL
- ; CALL HFSX
- JMP NOBH
- TZM3: CALL CLOFIL
- MOV SI,OFFSET VZF1
- MOV DI,OFFSET BDTZHCQ
- ADD DI,5H
- MOV CX,8H
- REPZ CMPSB
- CMP CX,0
- JZ COMCL1
- MOV SI,OFFSET VZF1
- MOV DI,OFFSET BDTZHCQ
- ADD DI,8H
- MOV CX,8H
- REPZ CMPSB
- CMP CX,0
- JZ TZM4
- JMP DESTC
- TZM4: JMP EXECL1
- ;
- COMCL1: MOV AX,3D02H
- MOV DX,OFFSET WJGZQ
- INT 21H
- JNB COMCL2
- JMP CPOPENC
- COMCL2: MOV WJH,AX
- MOV BX,AX
- MOV AH,40H
- MOV DX,OFFSET BDTZHCQ
- ADD DX,13H
- MOV CX,0EH
- INT 21H
- JNB COMCL3
- JMP CPXWJC
- COMCL3: MOV SI,OFFSET BDTZHCQ
- MOV DX,[SI+2DH]
- MOV CX,0
- MOV AX,4200H
- MOV BX,WJH
- INT 21H
- JNB COMCL4
- JMP CPCZC
- COMCL4: MOV AH,40H
- MOV CX,0
- INT 21H
- MOV AX,5700H
- INT 21H
- MOV AX,5701H
- INT 21H
- JMP CPEND1
- EXECL1: MOV AX,3D02H
- MOV DX,OFFSET WJGZQ
- INT 21H
- JNB EXECL2
- CALL HFSX
- JMP CPOPENC
- EXECL2: MOV WJH,AX
- MOV SI,OFFSET BDTZHCQ
- MOV AX,[SI+34H]
- CMP AX,0
- JZ EXECLA
- JMP EXECLB
- ;
- EXECLA: MOV AX,4200H
- MOV CX,0
- MOV DX,2
- MOV BX,WJH
- INT 21H
- MOV AH,40H
- MOV DX,OFFSET BDTZHCQ
- ADD DX,36H
- MOV CX,04H
- INT 21H
- JNB EXECLA1
- JMP CPXWJC
- EXECLA1: MOV AX,4200H
- MOV CX,0
- MOV DX,0EH
- MOV BX,WJH
- INT 21H
- MOV AH,40H
- MOV DX,OFFSET BDTZHCQ
- ADD DX,28H
- MOV CX,04H
- INT 21H
- JNB EXECLA2
- JMP CPXWJC
- EXECLA2: MOV AX,4200H
- MOV CX,0
- MOV DX,14H
- MOV BX,WJH
- INT 21H
- MOV AH,40H
- MOV DX,OFFSET BDTZHCQ
- ADD DX,24H
- MOV CX,04H
- INT 21H
- JNB EXECLA3
- JMP CPXWJC
- EXECLA3: MOV CX,0
- MOV DX,200H
- MOV AX,4200H
- MOV BX,WJH
- INT 21H
- JNB EXECLA4
- JMP CPCZC
- EXECLA4: MOV DX,OFFSET BDTZHCQ
- ADD DX,0016H
- MOV CX,0EH
- MOV AH,40H
- INT 21H
- JNB EXECLA5
- JMP CPXWJC
- EXECLA5: JMP EXECLC
- ;
- EXECLB: MOV CL,4
- SHL AX,CL
- SUB AX,0020H
- MOV WJTC,AX
- MOV AX,WJCD1
- MOV WJCD1GZ,AX
- MOV AX,WJCD2
- CMP AX,0E000H
- JNB EXECLB1
- CMP AX,0200H
- JNB EXECLB0
- CMP WJCD1GZ,0
- JNZ EXECLBA
- JMP DESTC
- EXECLBA: SUB WJCD1GZ,1
- ADD AX,8000H
- MOV DXCD,AX
- MOV WJCD2GZ,8000H
- JMP EXECLB2
- EXECLB0: MOV DXCD,AX
- MOV WJCD2GZ,0
- JMP EXECLB2
- EXECLB1: SUB AX,8000H
- MOV DXCD,AX
- MOV WJCD2GZ,8000H
- EXECLB2: CALL WJZZD
- CALL DWJA
- CALL WJZZX
- CALL XWJA
- MOV AX,WJCD2GZ
- CMP AX,8000H
- JNZ EXECLB3
- MOV WJCD2GZ,0
- MOV DXCD,8000H
- JMP EXECLB2
- EXECLB3: MOV AX,8000H
- MOV WJCD2GZ,AX
- MOV DXCD,AX
- CMP WJCD1GZ,0
- JZ EXECLB4
- SUB WJCD1GZ,1
- JMP EXECLB2
- EXECLB4: MOV SI,OFFSET BDTZHCQ
- MOV CX,[SI+32H]
- MOV DX,[SI+30H]
- ADD DX,000FH
- ADC CX,0
- AND DX,0FFF0H
- MOV AX,4200H
- MOV BX,WJH
- INT 21H
- MOV AX,WJTC
- ADD AX,0020H
- MOV DXCD,AX
- CALL DWJA
- CALL WJZZS
- CALL XWJA
- MOV DX,OFFSET BDTZHCQ
- ADD DX,0016H
- MOV CX,000EH
- MOV BX,WJH
- MOV AH,40H
- INT 21H
- ;
- EXECLC: MOV SI,OFFSET BDTZHCQ
- MOV DX,[SI+30H]
- MOV CX,[SI+32H]
- MOV AX,4200H
- MOV BX,WJH
- INT 21H
- JNB EXECLC2
- JMP CPCZC
- EXECLC2: MOV AH,40H
- MOV CX,0
- INT 21H
- MOV AX,5700H
- INT 21H
- MOV AX,5701H
- INT 21H
- CPEND1:
- CALL CLOFIL
- CALL HFSX
- MOV FHM,0
- JMP CPAVEND
- ;
- CPOPENC: MOV DX,OFFSET OPENCZF
- JMP CPEND4
- CPCZC: MOV DX,OFFSET CZCZF
- JMP CPEND4
- CPXWJC: MOV DX,OFFSET XWJCZF
- JMP CPEND4
- CPDWJC: MOV DX,OFFSET DWJCZF
- JMP CPEND4
- DESTC: MOV DX,OFFSET DESTCZF
- CPEND4: PUSH DX
- CALL CLOFIL
- CALL HFSX
- MOV FHM,1
- MOV DX,DS
- POP AX
- JMP CPAVEND
- ;
- NOBH: MOV FHM,2
- CPAVEND: RET
- UNCPAV ENDP
- ;
- DWJA PROC NEAR
- MOV BX,WJH
- MOV DX,0
- MOV CX,DXCD
- MOV AX,ESZC1
- PUSH DS
- MOV DS,AX
- MOV AH,3FH
- INT 21H
- POP DS
- RET
- DWJA ENDP
- ;
- XWJA PROC NEAR
- MOV BX,WJH
- MOV DX,0
- MOV CX,DXCD
- MOV AX,ESZC1
- PUSH DS
- MOV DS,AX
- MOV AH,40H
- INT 21H
- POP DS
- RET
- XWJA ENDP
- ;
- WJZZD PROC NEAR
- MOV AX,4200H
- MOV CX,WJCD1GZ
- MOV DX,WJCD2GZ
- MOV BX,WJH
- INT 21H
- RET
- WJZZD ENDP
- ;
- WJZZX PROC NEAR
- MOV AX,4200H
- MOV CX,WJCD1GZ
- MOV DX,WJCD2GZ
- ADD DX,WJTC
- MOV BX,WJH
- INT 21H
- RET
- WJZZX ENDP
- ;
- V00 PROC NEAR
- MOV FHM,1
- RET
- V00 ENDP
- ;
- ;-BEEP
- BEEP PROC NEAR
- BEEPSTART:
- PUSH ES
- MOV AX,3508H
- INT 21H
- MOV BEEP3,BX
- MOV BEEP4,ES
- POP ES
- PUSH DS
- PUSH CS
- POP DS
- MOV DX,OFFSET INT8
- MOV AX,2508H
- INT 21H
- POP DS
- CALL BEPZCX
- MOV DX,BEEP3
- MOV AX,BEEP4
- PUSH DS
- PUSH AX
- POP DS
- MOV AX,2508H
- INT 21H
- POP DS
- IN AL,61H
- AND AL,0FCH
- OUT 61H,AL
- RET
- ;
- INT8: PUSH AX
- PUSH BX
- PUSH CX
- PUSH DS
- IN AL,61H
- AND AL,0FCH
- OUT 61H,AL
- MOV BEEP1,0FH
- POP DS
- POP CX
- POP BX
- POP AX
- JMP DWORD PTR DS:BEEP3
- BEEP ENDP
- ;
- BEPZCX PROC NEAR
- PUSH AX
- PUSH BX
- PUSH CX
- MOV CX,7
- BEZCXA: PUSH CX
- MOV BEEP1,0
- IN AL,61H
- OR AL,03
- OUT 61H,AL
- MOV AL,0B6H
- OUT 43H,AL
- MOV AX,BEEP2
- OUT 42H,AL
- MOV AL,AH
- OUT 42H,AL
- POP CX
- DEC CX
- JZ BEZCXC
- BEZCXB: CMP BEEP1,0FH
- JNZ BEZCXB
- JMP BEZCXA
- BEZCXC: IN AL,61H
- AND AL,0FCH
- OUT 61H,AL
- POP CX
- POP BX
- POP AX
- RET
- BEPZCX ENDP
- ;-DIRC
- DIRC PROC NEAR
- MOV CTRLTZ,0
- MOV SI,OFFSET JPHCQ
- MOV DI,OFFSET DIRWJGZQ
- MOV CX,0
- MOV CL,[SI+1]
- ADD SI,2
- CMP CX,2
- JNB DIRZB0
- JMP DIRCSC
- DIRZB0: LODSB
- CALL XXBDX
- STOSB
- SUB AL,'A'
- MOV DIRALZC,AL
- LODSB
- STOSB
- CMP AL,':'
- JZ DIRZB1
- JMP DIRCSC
- DIRZB1: MOV AL,''
- STOSB
- MOV DIRZZ1,DI
- ;
- MOV SI,OFFSET DPDATA
- MOV WORD PTR [SI],0
- MOV WORD PTR [SI+2],0
- MOV WORD PTR [SI+4],1
- MOV WORD PTR [SI+6],0
- MOV AX,ESZC1
- MOV WORD PTR [SI+8],AX
- MOV ES,AX
- MOV BX,SI
- MOV AL,DIRALZC
- MOV CX,0FFFFH
- INT 25H
- POP AX
- JNB DIRZB6
- JMP DBOOTC
- DIRZB6: MOV SI,0
- MOV AL,ES:[SI+15H]
- CMP AL,0FDH
- JZ DIRZB7
- CMP AL,0F9H
- JZ DIRZB7
- CMP AL,0F0H
- JZ DIRZB7
- CMP AL,0F8H
- JZ DIRZB7
- JMP BOOTSC
- DIRZB7: MOV AX,ES:[SI+11H]
- MOV CL,4
- SHR AX,CL
- MOV GMLSS,AX
- MOV AX,ES:[SI+16H]
- ADD AX,AX
- ADD AX,1
- MOV GMLSKS,AX
- ;
- MOV DL,DIRALZC
- INC DL
- MOV AH,36H
- INT 21H
- JNB DIRZB8
- JMP DIRCZC
- DIRZB8: MOV FPDYSS,AX
- MOV FPDYMAX,DX
- ;
- MOV AX,ESZC1
- MOV DIRESZC1,AX
- MOV DX,GMLSS
- MOV CL,5
- SHL DX,CL
- ADD AX,DX
- MOV DIRESZC2,AX
- MOV DX,FPDYSS
- MOV CL,5
- SHL DX,CL
- ADD AX,DX
- MOV DIRESZC3,AX
- ADD AX,DX
- MOV DIRESZC4,AX
- ADD AX,DX
- MOV DIRESZC5,AX
- ADD AX,DX
- MOV DIRESZC6,AX
- ADD AX,DX
- MOV DIRESZC7,AX
- ADD AX,DX
- MOV DIRESZC8,AX
- ADD AX,DX
- MOV DIRESZC9,AX
- ADD AX,DX
- MOV DIRESZC10,AX
- ;
- CMP DIRJMTZ,0FH
- JZ DIRA1
- MOV BX,OFFSET DIRBDZF1
- MOV CX,10H
- MOV AL,11H
- DIRZB9: XOR [BX],AL
- INC BX
- LOOP DIRZB9
- MOV DIRJMTZ,0FH
- ;--------------------------------------------
- DIRA1: MOV SI,OFFSET DPDATA
- MOV AX,GMLSKS
- MOV [SI],AX
- MOV AX,0
- MOV [SI+2],AX
- MOV AX,GMLSS
- MOV [SI+4],AX
- MOV AX,0
- MOV [SI+6],AX
- MOV AX,DIRESZC1
- MOV [SI+8],AX
- MOV ES,AX
- MOV BX,SI
- MOV AL,DIRALZC
- MOV CX,0FFFFH
- INT 25H
- POP AX
- MOV AX,DIRESZC1
- MOV DIRESZCGZ,AX
- MOV AX,GMLSS
- MOV DIRSQJS1,AX
- MOV DIRBXZC1,0
- MOV MLCZ,0
- MOV MLENDTZ1,0
- DIRA2: MOV DIRWJJS1,10H
- MOV DIRYESTZ1,0
- MOV AX,DIRBXZC1
- MOV DIRBXZCGZ,AX
- DIRA3: MOV BX,DIRBXZC1
- MOV AL,ES:[BX]
- CMP AL,0
- JNZ DIRA4
- MOV MLENDTZ1,0FH
- JMP DIRA7
- DIRA4: CMP AL,02EH
- JZ DIRA6
- CMP AL,0E5H
- JZ DIRA6
- MOV DI,DIRZZ1
- CALL DIRSMLM
- MOV AL,ES:[BX+0BH]
- TEST AL,8
- JNZ DIRA6
- TEST AL,10H
- JZ DIRA5
- MOV DIRZZ2,DI
- MOV AX,ES:[BX+1AH]
- MOV FPDYH2,AX
- MOV MLCZ,1
- JMP DIRB1
- DIRA5: DEC DI
- MOV AL,'$'
- MOV [DI],AL
- ; CALL PMHC
- MOV DX,OFFSET DIRWJGZQ
- CALL XS09SC1
- MOV AL,0
- MOV [DI],AL
- MOV DX,DIRWJJS1
- MOV DIRWJJSGZ,DX
- CALL DIRCBD
- DIRA6: CMP CTRLTZ,1
- JNZ DIRA6A
- JMP DIRA9
- DIRA6A: MOV BX,DIRBXZC1
- ADD BX,20H
- MOV DIRBXZC1,BX
- DEC DIRWJJS1
- JNZ DIRA3
- DIRA7: CMP SCANTZ,0FH
- JZ DIRA8
- CMP DIRYESTZ1,0FH
- JNZ DIRA8
- MOV DX,OFFSET DIRYESZF
- CALL XS09SC
- MOV AX,0
- INT 16H
- PUSH AX
- MOV DL,AL
- MOV AH,2
- INT 21H
- POP AX
- AND AL,0DFH
- CMP AX,1559H
- JNZ DIRA8
- MOV CX,GMLSS
- MOV AX,DIRSQJS1
- SUB CX,AX
- CALL DIRXSQ1
- DIRA8: CMP MLENDTZ1,0FH
- JZ DIRA9
- DEC DIRSQJS1
- JZ DIRA9
- JMP DIRA2
- DIRA9: JMP DIREND0
- ;--------------------------------------------
- DIRB1: MOV AX,FPDYH2
- MOV CX,DIRESZC2
- MOV ES,CX
- MOV DIRESZCGZ,CX
- CALL DIRDSQ
- MOV MLENDTZ2,0
- MOV AX,FPDYSS
- MOV DIRSQJS2,AX
- MOV DIRBXZC2,0
- DIRB2: MOV DIRWJJS2,10H
- MOV DIRYESTZ2,0
- MOV AX,DIRBXZC2
- MOV DIRBXZCGZ,AX
- DIRB3: MOV BX,DIRBXZC2
- MOV AL,ES:[BX]
- CMP AL,0
- JNZ DIRB4
- MOV MLENDTZ2,0FH
- JMP DIRB7
- DIRB4: CMP AL,02EH
- JZ DIRB6
- CMP AL,0E5H
- JZ DIRB6
- MOV DI,DIRZZ2
- CALL DIRSMLM
- MOV AL,ES:[BX+0BH]
- TEST AL,10H
- JZ DIRB5
- MOV DIRZZ3,DI
- MOV AX,ES:[BX+1AH]
- MOV FPDYH3,AX
- MOV MLCZ,2
- JMP DIRC1
- DIRB5: DEC DI
- MOV AL,'$'
- MOV [DI],AL
- ; CALL PMHC
- MOV DX,OFFSET DIRWJGZQ
- CALL XS09SC1
- MOV AL,0
- MOV [DI],AL
- MOV DX,DIRWJJS2
- MOV DIRWJJSGZ,DX
- CALL DIRCBD
- DIRB6: CMP CTRLTZ,1
- JNZ DIRB6A
- JMP DIRB10
- DIRB6A: MOV BX,DIRBXZC2
- ADD BX,20H
- MOV DIRBXZC2,BX
- DEC DIRWJJS2
- JNZ DIRB3
- DIRB7: CMP SCANTZ,0FH
- JZ DIRB8
- CMP DIRYESTZ2,0FH
- JNZ DIRB8
- MOV DX,OFFSET DIRYESZF
- CALL XS09SC
- MOV AX,0
- INT 16H
- PUSH AX
- MOV DL,AL
- MOV AH,2
- INT 21H
- POP AX
- AND AL,0DFH
- CMP AX,1559H
- JNZ DIRB8
- MOV CX,FPDYSS
- MOV AX,DIRSQJS2
- SUB CX,AX
- MOV AX,FPDYH2
- CALL DIRXSQ2
- DIRB8: CMP MLENDTZ2,0FH
- JZ DIRB10
- DEC DIRSQJS2
- JZ DIRB9
- JMP DIRB2
- DIRB9: MOV AX,FPDYH2
- CALL NEXTFPDY
- MOV FPDYH2,AX
- CMP AX,FPDYMAX
- JNB DIRB10
- JMP DIRB1
- DIRB10: MOV MLCZ,0
- MOV AX,DIRESZC1
- MOV ES,AX
- JMP DIRA6
- ;--------------------------------------------
- DIRC1: MOV AX,FPDYH3
- MOV CX,DIRESZC3
- MOV ES,CX
- MOV DIRESZCGZ,CX
- CALL DIRDSQ
- MOV MLENDTZ3,0
- MOV AX,FPDYSS
- MOV DIRSQJS3,AX
- MOV DIRBXZC3,0
- DIRC2: MOV DIRWJJS3,10H
- MOV DIRYESTZ3,0
- MOV AX,DIRBXZC3
- MOV DIRBXZCGZ,AX
- DIRC3: MOV BX,DIRBXZC3
- MOV AL,ES:[BX]
- CMP AL,0
- JNZ DIRC4
- MOV MLENDTZ3,0FH
- JMP DIRC7
- DIRC4: CMP AL,02EH
- JZ DIRC6
- CMP AL,0E5H
- JZ DIRC6
- MOV DI,DIRZZ3
- CALL DIRSMLM
- MOV AL,ES:[BX+0BH]
- TEST AL,10H
- JZ DIRC5
- MOV DIRZZ4,DI
- MOV AX,ES:[BX+1AH]
- MOV FPDYH4,AX
- MOV MLCZ,3
- JMP DIRD1
- DIRC5: DEC DI
- MOV AL,'$'
- MOV [DI],AL
- ; CALL PMHC
- MOV DX,OFFSET DIRWJGZQ
- CALL XS09SC1
- MOV AL,0
- MOV [DI],AL
- MOV DX,DIRWJJS3
- MOV DIRWJJSGZ,DX
- CALL DIRCBD
- DIRC6: CMP CTRLTZ,1
- JNZ DIRC6A
- JMP DIRC10
- DIRC6A: MOV BX,DIRBXZC3
- ADD BX,20H
- MOV DIRBXZC3,BX
- DEC DIRWJJS3
- JNZ DIRC3
- DIRC7: CMP SCANTZ,0FH
- JZ DIRC8
- CMP DIRYESTZ3,0FH
- JNZ DIRC8
- MOV DX,OFFSET DIRYESZF
- CALL XS09SC
- MOV AX,0
- INT 16H
- PUSH AX
- MOV DL,AL
- MOV AH,2
- INT 21H
- POP AX
- AND AL,0DFH
- CMP AX,1559H
- JNZ DIRC8
- MOV CX,FPDYSS
- MOV AX,DIRSQJS3
- SUB CX,AX
- MOV AX,FPDYH3
- CALL DIRXSQ2
- DIRC8: CMP MLENDTZ3,0FH
- JZ DIRC10
- DEC DIRSQJS3
- JZ DIRC9
- JMP DIRC2
- DIRC9: MOV AX,FPDYH3
- CALL NEXTFPDY
- MOV FPDYH3,AX
- CMP AX,FPDYMAX
- JNB DIRC10
- JMP DIRC1
- DIRC10: MOV MLCZ,1
- MOV AX,DIRESZC2
- MOV ES,AX
- JMP DIRB6
- ;--------------------------------------------
- DIRD1: MOV AX,FPDYH4
- MOV CX,DIRESZC4
- MOV ES,CX
- MOV DIRESZCGZ,CX
- CALL DIRDSQ
- MOV MLENDTZ4,0
- MOV AX,FPDYSS
- MOV DIRSQJS4,AX
- MOV DIRBXZC4,0
- DIRD2: MOV DIRWJJS4,10H
- MOV DIRYESTZ4,0
- MOV AX,DIRBXZC4
- MOV DIRBXZCGZ,AX
- DIRD3: MOV BX,DIRBXZC4
- MOV AL,ES:[BX]
- CMP AL,0
- JNZ DIRD4
- MOV MLENDTZ4,0FH
- JMP DIRD7
- DIRD4: CMP AL,02EH
- JZ DIRD6
- CMP AL,0E5H
- JZ DIRD6
- MOV DI,DIRZZ4
- CALL DIRSMLM
- MOV AL,ES:[BX+0BH]
- TEST AL,10H
- JZ DIRD5
- MOV DIRZZ5,DI
- MOV AX,ES:[BX+1AH]
- MOV FPDYH5,AX
- MOV MLCZ,4
- JMP DIRE1
- DIRD5: DEC DI
- MOV AL,'$'
- MOV [DI],AL
- ; CALL PMHC
- MOV DX,OFFSET DIRWJGZQ
- CALL XS09SC1
- MOV AL,0
- MOV [DI],AL
- MOV DX,DIRWJJS4
- MOV DIRWJJSGZ,DX
- CALL DIRCBD
- DIRD6: CMP CTRLTZ,1
- JNZ DIRD6A
- JMP DIRD10
- DIRD6A: MOV BX,DIRBXZC4
- ADD BX,20H
- MOV DIRBXZC4,BX
- DEC DIRWJJS4
- JNZ DIRD3
- DIRD7: CMP SCANTZ,0FH
- JZ DIRD8
- CMP DIRYESTZ4,0FH
- JNZ DIRD8
- MOV DX,OFFSET DIRYESZF
- CALL XS09SC
- MOV AX,0
- INT 16H
- PUSH AX
- MOV DL,AL
- MOV AH,2
- INT 21H
- POP AX
- AND AL,0DFH
- CMP AX,1559H
- JNZ DIRD8
- MOV CX,FPDYSS
- MOV AX,DIRSQJS4
- SUB CX,AX
- MOV AX,FPDYH4
- CALL DIRXSQ2
- DIRD8: CMP MLENDTZ4,0FH
- JZ DIRD10
- DEC DIRSQJS4
- JZ DIRD9
- JMP DIRD2
- DIRD9: MOV AX,FPDYH4
- CALL NEXTFPDY
- MOV FPDYH4,AX
- CMP AX,FPDYMAX
- JNB DIRD10
- JMP DIRD1
- DIRD10: MOV MLCZ,2
- MOV AX,DIRESZC3
- MOV ES,AX
- JMP DIRC6
- ;--------------------------------------------
- DIRE1: MOV AX,FPDYH5
- MOV CX,DIRESZC5
- MOV ES,CX
- MOV DIRESZCGZ,CX
- CALL DIRDSQ
- MOV MLENDTZ5,0
- MOV AX,FPDYSS
- MOV DIRSQJS5,AX
- MOV DIRBXZC5,0
- DIRE2: MOV DIRWJJS5,10H
- MOV DIRYESTZ5,0
- MOV AX,DIRBXZC5
- MOV DIRBXZCGZ,AX
- DIRE3: MOV BX,DIRBXZC5
- MOV AL,ES:[BX]
- CMP AL,0
- JNZ DIRE4
- MOV MLENDTZ5,0FH
- JMP DIRE7
- DIRE4: CMP AL,02EH
- JZ DIRE6
- CMP AL,0E5H
- JZ DIRE6
- MOV DI,DIRZZ5
- CALL DIRSMLM
- MOV AL,ES:[BX+0BH]
- TEST AL,10H
- JZ DIRE5
- MOV DIRZZ6,DI
- MOV AX,ES:[BX+1AH]
- MOV FPDYH6,AX
- MOV MLCZ,5
- JMP DIRF1
- DIRE5: DEC DI
- MOV AL,'$'
- MOV [DI],AL
- ; CALL PMHC
- MOV DX,OFFSET DIRWJGZQ
- CALL XS09SC1
- MOV AL,0
- MOV [DI],AL
- MOV DX,DIRWJJS5
- MOV DIRWJJSGZ,DX
- CALL DIRCBD
- DIRE6: CMP CTRLTZ,1
- JNZ DIRE6A
- JMP DIRE10
- DIRE6A: MOV BX,DIRBXZC5
- ADD BX,20H
- MOV DIRBXZC5,BX
- DEC DIRWJJS5
- JNZ DIRE3
- DIRE7: CMP SCANTZ,0FH
- JZ DIRE8
- CMP DIRYESTZ5,0FH
- JNZ DIRE8
- MOV DX,OFFSET DIRYESZF
- CALL XS09SC
- MOV AX,0
- INT 16H
- PUSH AX
- MOV DL,AL
- MOV AH,2
- INT 21H
- POP AX
- AND AL,0DFH
- CMP AX,1559H
- JNZ DIRE8
- MOV CX,FPDYSS
- MOV AX,DIRSQJS5
- SUB CX,AX
- MOV AX,FPDYH5
- CALL DIRXSQ2
- DIRE8: CMP MLENDTZ5,0FH
- JZ DIRE10
- DEC DIRSQJS5
- JZ DIRE9
- JMP DIRE2
- DIRE9: MOV AX,FPDYH5
- CALL NEXTFPDY
- MOV FPDYH5,AX
- CMP AX,FPDYMAX
- JNB DIRE10
- JMP DIRE1
- DIRE10: MOV MLCZ,3
- MOV AX,DIRESZC4
- MOV ES,AX
- JMP DIRD6
- ;--------------------------------------------
- DIRF1: MOV AX,FPDYH6
- MOV CX,DIRESZC6
- MOV ES,CX
- MOV DIRESZCGZ,CX
- CALL DIRDSQ
- MOV MLENDTZ6,0
- MOV AX,FPDYSS
- MOV DIRSQJS6,AX
- MOV DIRBXZC6,0
- DIRF2: MOV DIRWJJS6,10H
- MOV DIRYESTZ6,0
- MOV AX,DIRBXZC6
- MOV DIRBXZCGZ,AX
- DIRF3: MOV BX,DIRBXZC6
- MOV AL,ES:[BX]
- CMP AL,0
- JNZ DIRF4
- MOV MLENDTZ6,0FH
- JMP DIRF7
- DIRF4: CMP AL,02EH
- JZ DIRF6
- CMP AL,0E5H
- JZ DIRF6
- MOV DI,DIRZZ6
- CALL DIRSMLM
- MOV AL,ES:[BX+0BH]
- TEST AL,10H
- JZ DIRF5
- MOV DIRZZ7,DI
- MOV AX,ES:[BX+1AH]
- MOV FPDYH7,AX
- MOV MLCZ,6
- JMP DIRG1
- DIRF5: DEC DI
- MOV AL,'$'
- MOV [DI],AL
- ; CALL PMHC
- MOV DX,OFFSET DIRWJGZQ
- CALL XS09SC1
- MOV AL,0
- MOV [DI],AL
- MOV DX,DIRWJJS6
- MOV DIRWJJSGZ,DX
- CALL DIRCBD
- DIRF6: CMP CTRLTZ,1
- JNZ DIRF6A
- JMP DIRF10
- DIRF6A: MOV BX,DIRBXZC6
- ADD BX,20H
- MOV DIRBXZC6,BX
- DEC DIRWJJS6
- JNZ DIRF3
- DIRF7: CMP SCANTZ,0FH
- JZ DIRF8
- CMP DIRYESTZ6,0FH
- JNZ DIRF8
- MOV DX,OFFSET DIRYESZF
- CALL XS09SC
- MOV AX,0
- INT 16H
- PUSH AX
- MOV DL,AL
- MOV AH,2
- INT 21H
- POP AX
- AND AL,0DFH
- CMP AX,1559H
- JNZ DIRF8
- MOV CX,FPDYSS
- MOV AX,DIRSQJS6
- SUB CX,AX
- MOV AX,FPDYH6
- CALL DIRXSQ2
- DIRF8: CMP MLENDTZ6,0FH
- JZ DIRF10
- DEC DIRSQJS6
- JZ DIRF9
- JMP DIRF2
- DIRF9: MOV AX,FPDYH6
- CALL NEXTFPDY
- MOV FPDYH6,AX
- CMP AX,FPDYMAX
- JNB DIRF10
- JMP DIRF1
- DIRF10: MOV MLCZ,4
- MOV AX,DIRESZC5
- MOV ES,AX
- JMP DIRE6
- ;--------------------------------------------
- DIRG1: MOV AX,FPDYH7
- MOV CX,DIRESZC7
- MOV ES,CX
- MOV DIRESZCGZ,CX
- CALL DIRDSQ
- MOV MLENDTZ7,0
- MOV AX,FPDYSS
- MOV DIRSQJS7,AX
- MOV DIRBXZC7,0
- DIRG2: MOV DIRWJJS7,10H
- MOV DIRYESTZ7,0
- MOV AX,DIRBXZC7
- MOV DIRBXZCGZ,AX
- DIRG3: MOV BX,DIRBXZC7
- MOV AL,ES:[BX]
- CMP AL,0
- JNZ DIRG4
- MOV MLENDTZ7,0FH
- JMP DIRG7
- DIRG4: CMP AL,02EH
- JZ DIRG6
- CMP AL,0E5H
- JZ DIRG6
- MOV DI,DIRZZ7
- CALL DIRSMLM
- MOV AL,ES:[BX+0BH]
- TEST AL,10H
- JZ DIRG5
- MOV DIRZZ8,DI
- MOV AX,ES:[BX+1AH]
- MOV FPDYH8,AX
- MOV MLCZ,7
- JMP DIRH1
- DIRG5: DEC DI
- MOV AL,'$'
- MOV [DI],AL
- ; CALL PMHC
- MOV DX,OFFSET DIRWJGZQ
- CALL XS09SC1
- MOV AL,0
- MOV [DI],AL
- MOV DX,DIRWJJS7
- MOV DIRWJJSGZ,DX
- CALL DIRCBD
- DIRG6: CMP CTRLTZ,1
- JNZ DIRG6A
- JMP DIRG10
- DIRG6A: MOV BX,DIRBXZC7
- ADD BX,20H
- MOV DIRBXZC7,BX
- DEC DIRWJJS7
- JNZ DIRG3
- DIRG7: CMP SCANTZ,0FH
- JZ DIRG8
- CMP DIRYESTZ7,0FH
- JNZ DIRG8
- MOV DX,OFFSET DIRYESZF
- CALL XS09SC
- MOV AX,0
- INT 16H
- PUSH AX
- MOV DL,AL
- MOV AH,2
- INT 21H
- POP AX
- AND AL,0DFH
- CMP AX,1559H
- JNZ DIRG8
- MOV CX,FPDYSS
- MOV AX,DIRSQJS7
- SUB CX,AX
- MOV AX,FPDYH7
- CALL DIRXSQ2
- DIRG8: CMP MLENDTZ7,0FH
- JZ DIRG10
- DEC DIRSQJS7
- JZ DIRG9
- JMP DIRG2
- DIRG9: MOV AX,FPDYH7
- CALL NEXTFPDY
- MOV FPDYH7,AX
- CMP AX,FPDYMAX
- JNB DIRG10
- JMP DIRG1
- DIRG10: MOV MLCZ,5
- MOV AX,DIRESZC6
- MOV ES,AX
- JMP DIRF6
- ;--------------------------------------------
- DIRH1: MOV AX,FPDYH8
- MOV CX,DIRESZC8
- MOV ES,CX
- MOV DIRESZCGZ,CX
- CALL DIRDSQ
- MOV MLENDTZ8,0
- MOV AX,FPDYSS
- MOV DIRSQJS8,AX
- MOV DIRBXZC8,0
- DIRH2: MOV DIRWJJS8,10H
- MOV DIRYESTZ8,0
- MOV AX,DIRBXZC8
- MOV DIRBXZCGZ,AX
- DIRH3: MOV BX,DIRBXZC8
- MOV AL,ES:[BX]
- CMP AL,0
- JNZ DIRH4
- MOV MLENDTZ8,0FH
- JMP DIRH7
- DIRH4: CMP AL,02EH
- JZ DIRH6
- CMP AL,0E5H
- JZ DIRH6
- MOV DI,DIRZZ8
- CALL DIRSMLM
- MOV AL,ES:[BX+0BH]
- TEST AL,10H
- JZ DIRH5
- MOV DIRZZ9,DI
- MOV AX,ES:[BX+1AH]
- MOV FPDYH9,AX
- MOV MLCZ,8
- JMP DIRI1
- DIRH5: DEC DI
- MOV AL,'$'
- MOV [DI],AL
- ; CALL PMHC
- MOV DX,OFFSET DIRWJGZQ
- CALL XS09SC1
- MOV AL,0
- MOV [DI],AL
- MOV DX,DIRWJJS8
- MOV DIRWJJSGZ,DX
- CALL DIRCBD
- DIRH6: CMP CTRLTZ,1
- JNZ DIRH6A
- JMP DIRH10
- DIRH6A: MOV BX,DIRBXZC8
- ADD BX,20H
- MOV DIRBXZC8,BX
- DEC DIRWJJS8
- JNZ DIRH3
- DIRH7: CMP SCANTZ,0FH
- JZ DIRH8
- CMP DIRYESTZ8,0FH
- JNZ DIRH8
- MOV DX,OFFSET DIRYESZF
- CALL XS09SC
- MOV AX,0
- INT 16H
- PUSH AX
- MOV DL,AL
- MOV AH,2
- INT 21H
- POP AX
- AND AL,0DFH
- CMP AX,1559H
- JNZ DIRH8
- MOV CX,FPDYSS
- MOV AX,DIRSQJS8
- SUB CX,AX
- MOV AX,FPDYH8
- CALL DIRXSQ2
- DIRH8: CMP MLENDTZ8,0FH
- JZ DIRH10
- DEC DIRSQJS8
- JZ DIRH9
- JMP DIRH2
- DIRH9: MOV AX,FPDYH8
- CALL NEXTFPDY
- MOV FPDYH8,AX
- CMP AX,FPDYMAX
- JNB DIRH10
- JMP DIRH1
- DIRH10: MOV MLCZ,6
- MOV AX,DIRESZC7
- MOV ES,AX
- JMP DIRG6
- ;--------------------------------------------
- DIRI1: MOV AX,FPDYH9
- MOV CX,DIRESZC9
- MOV ES,CX
- MOV DIRESZCGZ,CX
- CALL DIRDSQ
- MOV MLENDTZ9,0
- MOV AX,FPDYSS
- MOV DIRSQJS9,AX
- MOV DIRBXZC9,0
- DIRI2: MOV DIRWJJS9,10H
- MOV DIRYESTZ9,0
- MOV AX,DIRBXZC9
- MOV DIRBXZCGZ,AX
- DIRI3: MOV BX,DIRBXZC9
- MOV AL,ES:[BX]
- CMP AL,0
- JNZ DIRI4
- MOV MLENDTZ9,0FH
- JMP DIRI7
- DIRI4: CMP AL,02EH
- JZ DIRI6
- CMP AL,0E5H
- JZ DIRI6
- MOV DI,DIRZZ9
- CALL DIRSMLM
- MOV AL,ES:[BX+0BH]
- TEST AL,10H
- JZ DIRI5
- JMP DIRI6
- DIRI5: DEC DI
- MOV AL,'$'
- MOV [DI],AL
- ; CALL PMHC
- MOV DX,OFFSET DIRWJGZQ
- CALL XS09SC1
- MOV AL,0
- MOV [DI],AL
- MOV DX,DIRWJJS9
- MOV DIRWJJSGZ,DX
- CALL DIRCBD
- DIRI6: CMP CTRLTZ,1
- JNZ DIRI6A
- JMP DIRI10
- DIRI6A: MOV BX,DIRBXZC9
- ADD BX,20H
- MOV DIRBXZC9,BX
- DEC DIRWJJS9
- JNZ DIRI3
- DIRI7: CMP SCANTZ,0FH
- JZ DIRI8
- CMP DIRYESTZ9,0FH
- JNZ DIRI8
- MOV DX,OFFSET DIRYESZF
- CALL XS09SC
- MOV AX,0
- INT 16H
- PUSH AX
- MOV DL,AL
- MOV AH,2
- INT 21H
- POP AX
- AND AL,0DFH
- CMP AX,1559H
- JNZ DIRI8
- MOV CX,FPDYSS
- MOV AX,DIRSQJS9
- SUB CX,AX
- MOV AX,FPDYH9
- CALL DIRXSQ2
- DIRI8: CMP MLENDTZ9,0FH
- JZ DIRI10
- DEC DIRSQJS9
- JZ DIRI9
- JMP DIRI2
- DIRI9: MOV AX,FPDYH9
- CALL NEXTFPDY
- MOV FPDYH9,AX
- CMP AX,FPDYMAX
- JNB DIRI10
- JMP DIRI1
- DIRI10: MOV MLCZ,7
- MOV AX,DIRESZC8
- MOV ES,AX
- JMP DIRH6
- ;--------------------------------------------
- DIRCSC: MOV DX,OFFSET DIRCSCZF
- JMP DIREND1
- DIRCZC: MOV DX,OFFSET CZCZF
- JMP DIREND1
- DMLC: MOV DX,OFFSET DMLCZF
- JMP DIREND1
- XMLC: MOV DX,OFFSET XMLCZF
- JMP DIREND1
- DBOOTC: MOV DX,OFFSET DBTCZF
- JMP DIREND1
- BOOTSC: MOV DX,OFFSET BOOTSCZF
- DIREND1: CALL XS09SC
- DIREND0: RET
- DIRC ENDP
- ;
- DIRSMLM PROC NEAR
- MOV SI,0
- MOV CX,8
- MLM1: MOV AL,ES:[SI+BX]
- CMP AL,' '
- JZ MLM2
- MOV [DI],AL
- INC DI
- MLM2: INC SI
- LOOP MLM1
- MOV AL,ES:[SI+BX]
- CMP AL,' '
- JZ MLM3
- MOV AH,AL
- MOV AL,'.'
- MOV [DI],AL
- INC SI
- INC DI
- MOV AL,AH
- MOV [DI],AL
- INC DI
- MOV AL,ES:[SI+BX]
- CMP AL,' '
- JZ MLM3
- MOV [DI],AL
- INC SI
- INC DI
- MOV AL,ES:[SI+BX]
- CMP AL,' '
- JZ MLM3
- MOV [DI],AL
- INC SI
- INC DI
- MLM3: MOV AL,''
- MOV [DI],AL
- INC DI
- RET
- DIRSMLM ENDP
- ;
- DIRDSQ PROC NEAR
- MOV SI,OFFSET DPDATA
- CALL FPDY_SQ
- MOV [SI],AX
- MOV [SI+2],DX
- MOV AX,FPDYSS
- MOV [SI+4],AX
- MOV AX,0
- MOV [SI+6],AX
- MOV [SI+8],CX
- MOV BX,SI
- MOV CX,0FFFFH
- MOV AL,DIRALZC
- INT 25H
- POP AX
- RET
- DIRDSQ ENDP
- ;
- DIRXSQ1 PROC NEAR
- MOV SI,OFFSET DPDATA
- MOV AX,GMLSKS
- ADD AX,CX
- MOV [SI],AX
- MOV AX,0
- MOV [SI+2],AX
- MOV AX,1
- MOV [SI+4],AX
- MOV AX,DIRBXZCGZ
- MOV [SI+6],AX
- MOV AX,DIRESZCGZ
- MOV [SI+8],AX
- MOV AL,DIRALZC
- MOV BX,SI
- MOV CX,0FFFFH
- INT 26H
- POP AX
- RET
- DIRXSQ1 ENDP
- ;
- DIRXSQ2 PROC NEAR
- PUSH CX
- MOV SI,OFFSET DPDATA
- CALL FPDY_SQ
- POP CX
- ADD AX,CX
- ADC DX,0
- MOV [SI],AX
- MOV [SI+2],DX
- MOV AX,1
- MOV [SI+4],AX
- MOV AX,DIRBXZCGZ
- MOV [SI+6],AX
- MOV AX,DIRESZCGZ
- MOV [SI+8],AX
- MOV BX,SI
- MOV CX,0FFFFH
- MOV AL,DIRALZC
- INT 26H
- POP AX
- RET
- DIRXSQ2 ENDP
- ;
- FPDY_SQ PROC NEAR
- PUSH BX
- SUB AX,2
- MOV BX,FPDYSS
- MOV DX,0
- MUL BX
- ADD AX,GMLSS
- ADC DX,0
- ADD AX,GMLSKS
- ADC DX,0
- POP BX
- RET
- FPDY_SQ ENDP
- ;
- SQ_FPDY PROC NEAR
- PUSH BX
- SUB AX,GMLSS
- SBB DX,0
- SUB AX,GMLSKS
- SBB DX,0
- MOV BX,FPDYSS
- DIV BX
- POP BX
- RET
- SQ_FPDY ENDP
- ;
- NEXTFPDY PROC NEAR
- PUSH BX
- PUSH CX
- PUSH DX
- PUSH SI
- MOV BX,FPDYMAX
- CMP BX,0FF7H
- JB W12A
- W16A: MOV BX,100H
- MOV DX,0
- DIV BX
- PUSH DX
- MOV SI,OFFSET DPDATA
- ADD AX,1
- MOV [SI],AX
- MOV AX,0
- MOV [SI+2],AX
- MOV AX,1
- MOV [SI+4],AX
- MOV AX,0
- MOV [SI+6],AX
- MOV AX,DIRESZC10
- MOV [SI+8],AX
- MOV ES,AX
- MOV BX,SI
- MOV CX,0FFFFH
- MOV AL,DIRALZC
- INT 25H
- POP AX
- POP BX
- SHL BX,1
- MOV AX,ES:[BX]
- JMP NT
- W12A: MOV QOTZ,0
- TEST AX,1
- JZ W12B
- MOV QOTZ,1
- W12B: MOV SI,3
- MOV DX,0
- MUL SI
- SHR AX,1
- MOV SI,200H
- MOV DX,0
- DIV SI
- INC AX
- PUSH DX
- MOV SI,OFFSET DPDATA
- MOV [SI],AX
- MOV AX,0
- MOV [SI+2],AX
- MOV AX,1
- MOV [SI+4],AX
- MOV AX,0
- MOV [SI+6],AX
- MOV AX,DIRESZC10
- MOV [SI+8],AX
- MOV ES,AX
- MOV BX,SI
- MOV AL,DIRALZC
- MOV CX,0FFFFH
- INT 25H
- POP AX
- POP BX
- MOV AX,ES:[BX]
- CMP QOTZ,1
- JZ W12C
- AND AX,0FFFH
- JMP NT
- W12C: AND AX,0FFF0H
- MOV CL,4
- SHR AX,CL
- NT: POP SI
- POP DX
- POP CX
- POP BX
- RET
- NEXTFPDY ENDP
- ;
- DIRCBD PROC NEAR
- MOV FOUNDTZ,0
- CALL DIRDBDTZM
- JNB DIRCBD1
- CMP WORD PTR ES:[BX+14H],0
- JZ DIRCBD3
- MOV DX,OFFSET DIRBDCZF
- CALL XS09SC
- CALL BDZJA
- JMP DIRCBD3
- DIRCBD1: CMP WORD PTR ES:[BX+14H],0
- JNZ DIRCBD2
- MOV DX,OFFSET DIRBDCAZF
- CALL XS09SC
- MOV AX,0
- INT 16H
- PUSH AX
- MOV DL,AL
- MOV AH,2
- INT 21H
- CALL BDZJA
- POP AX
- AND AL,0DFH
- CMP AX,1559H
- JNZ DIRCBD1A
- MOV AL,0E5H
- MOV [BX],AL
- MOV SI,OFFSET DIRYESTZ1
- ADD SI,MLCZ
- MOV BYTE PTR [SI],0FH
- CALL BDZJA
- DIRCBD1A: JMP DIRCBD3
- DIRCBD2: MOV AX,ES:[BX+14H]
- MOV WORD PTR ES:[BX+14H],0
- MOV DX,AX
- MOV AX,DIRBDTZM
- MOV CL,10H
- MOV CH,0
- SUB CX,DIRWJJSGZ
- ROL AX,CL
- XOR AX,DX
- MOV ES:[BX+1AH],AX
- MOV SI,OFFSET DIRYESTZ1
- ADD SI,MLCZ
- MOV BYTE PTR [SI],0FH
- CALL BDZJA
- MOV DX,OFFSET DIRKILLZF
- CALL XS09SC
- CALL BDZJA
- DIRCBD3: RET
- DIRCBD ENDP
- ;
- DIRDBDTZM PROC NEAR
- PUSH AX
- PUSH BX
- PUSH CX
- PUSH DX
- PUSH ES
- MOV DX,OFFSET DIRWJGZQ
- MOV AX,3D00H
- INT 21H
- JNB DIRDBD1
- MOV DX,OFFSET OPENCZF
- CALL XS09SC
- MOV BYTE PTR DIRWJTZ,8
- JMP DIRDBD6
- DIRDBD1: MOV WJH,AX
- MOV BX,AX
- MOV DX,OFFSET DIRBDZF
- MOV CX,10H
- MOV AH,3FH
- INT 21H
- JNB DIRDBD2
- MOV DX,OFFSET DWJCZF
- CALL XS09SC
- MOV BYTE PTR DIRWJTZ,2
- JMP DIRDBD5
- DIRDBD2: MOV SI,OFFSET DIRBDZF
- MOV DI,OFFSET DIRBDZF1
- MOV CX,10H
- PUSH DS
- POP ES
- REPZ CMPSB
- JZ DIRDBD3
- MOV BYTE PTR DIRWJTZ,1
- JMP DIRDBD5
- DIRDBD3: MOV BX,WJH
- MOV CX,0
- MOV DX,33FH
- MOV AX,4200H
- INT 21H
- JNB DIRDBD4
- MOV DX,OFFSET CZCZF
- CALL XS09SC
- MOV BYTE PTR DIRWJTZ,4
- JMP DIRDBD5
- DIRDBD4: MOV BX,WJH
- MOV DX,OFFSET DIRBDTZM
- MOV CX,2
- MOV AH,3FH
- INT 21H
- JNB DIRDBD7
- MOV DX,OFFSET DWJCZF
- CALL XS09SC
- MOV BYTE PTR DIRWJTZ,2
- DIRDBD5: MOV AH,3EH
- MOV BX,WJH
- INT 21H
- DIRDBD6: STC
- MOV FOUNDTZ,0
- JMP DIRDBD8
- DIRDBD7: MOV BYTE PTR DIRWJTZ,0
- MOV AH,3EH
- MOV BX,WJH
- INT 21H
- MOV FOUNDTZ,0FH
- CLC
- DIRDBD8: POP ES
- POP DX
- POP CX
- POP BX
- POP AX
- RET
- DIRDBDTZM ENDP
- ;出口调用
- ZKDY PROC NEAR
- PUSH AX
- PUSH CX
- PUSH DX
- CMP FHM,1
- JNZ ZKDY1
- MOV CX,DS
- CMP CX,DX
- JNZ ZKDY1
- CMP AX,0
- JZ ZKDY1
- MOV DX,AX
- CALL XS09SC
- ZKDY1: POP DX
- POP CX
- POP AX
- RET
- ZKDY ENDP
- ;-V01
- V01 PROC NEAR
- V01START:
- PUSH DS
- POP ES
- CLD
- CMP V01JMTZ,0FH
- JZ V01JMB
- MOV SI,OFFSET V01TZMA
- MOV CX,12H
- V01JMA: LODSB
- INC AL
- MOV [SI-1],AL
- LOOP V01JMA
- MOV V01JMTZ,0FH
- V01JMB: CALL BCSX
- JNB V01KS1
- MOV FHM,1
- MOV DX,OFFSET CZCZF
- MOV XSAXZC,DX
- JMP V01ZE4
- V01KS1: CALL GBSX
- JNB V01KS3
- MOV FHM,1
- MOV DX,OFFSET CZCZF
- MOV XSAXZC,DX
- JMP V01ZE4
- V01KS3: CALL WJXOPEN
- JNB V01KS4
- JMP V01OPENC
- V01KS4: CALL BCSJRQ
- JNB V01KS5
- MOV XSAXZC,0
- MOV FHM,1
- JMP V01ZE2
- V01KS5: MOV BX,WJH
- MOV AH,3FH
- MOV CX,0020H
- LEA DX,WJTQ
- MOV DI,DX
- MOV BX,WJH
- INT 21H
- JNB V01WJ1
- JMP V01DWJC
- V01WJ1: CMP WORD PTR [DI],5A4DH
- JZ V01WJ2
- CMP CORPSETZ,0FH
- JZ V01SP1
- CMP BYTE PTR [DI],0E9H
- JNZ V01WJ2
- MOV AX,[DI+1]
- ADD AX,3
- MOV DX,0
- JMP V01SP4
- V01WJ2: JMP V01END2
- V01SP1: CALL WJZZM
- MOV CX,WJCXZC
- MOV DI,BDDIZC
- CMP DX,0
- JNZ V01SP3
- CMP CX,4000H
- JNB V01SP3
- SUB DI,01B6H
- JNB V01SP2
- JMP V01END2
- V01SP2: MOV DX,0
- MOV AX,DI
- JMP V01SP4
- V01SP3: SUB AX,4000H
- SBB DX,0
- ADD AX,DI
- ADC DX,0
- SUB AX,01B6H
- SBB DX,0
- V01SP4: MOV WJCD1,DX
- MOV WJCD2,AX
- ;
- MOV BX,WJH
- MOV CX,DX
- MOV DX,AX
- ADD DX,0173H
- MOV AX,4200H
- INT 21H
- JNB V01WJ3
- JMP V01CZC
- V01WJ3: LEA DX,BDTZHCQ
- MOV BX,WJH
- MOV CX,12H
- MOV AH,3FH
- INT 21H
- JNB V01WJ4
- JMP V01DWJC
- V01WJ4: MOV DI,OFFSET BDTZHCQ
- MOV SI,OFFSET V01TZMA
- MOV CX,12H
- REPE CMPSB
- JZ V01WJ5
- JMP V01END2
- ;
- V01WJ5: MOV BX,WJH
- MOV CX,WJCD1
- MOV DX,WJCD2
- ADD DX,203H
- MOV AX,4200H
- INT 21H
- JNB V01WJ6
- JMP V01CZC
- V01WJ6: LEA DX,BDTZHCQ
- MOV BX,WJH
- MOV CX,3
- MOV AH,3FH
- INT 21H
- JNB V01WJ7
- JMP V01DWJC
- V01WJ7: CALL WJZZS
- MOV DX,OFFSET BDTZHCQ
- MOV CX,3
- MOV AH,40H
- INT 21H
- JNB V01WJ8
- JMP V01XWJC
- V01WJ8: MOV CX,WJCD1
- MOV DX,WJCD2
- MOV AX,4200H
- MOV BX,WJH
- INT 21H
- JNB V01WJ9
- JMP V01CZC
- V01WJ9: MOV CX,0
- MOV AH,40H
- INT 21H
- JNB V01END0
- JMP V01XWJC
- ;
- V01END2: MOV FHM,2
- MOV XSAXZC,0
- JMP V01ZE1
- V01END0: MOV FHM,0
- MOV XSAXZC,0
- JMP V01ZE1
- ;
- V01OPENC: MOV FHM,1
- MOV DX,OFFSET OPENCZF
- MOV XSAXZC,DX
- JMP V01ZE3
- ;
- V01CZC: MOV DX,OFFSET CZCZF
- JMP V01XSL
- V01DWJC: MOV DX,OFFSET DWJCZF
- JMP V01XSL
- V01XWJC: MOV DX,OFFSET XWJCZF
- V01XSL: MOV XSAXZC,DX
- MOV FHM,1
- V01ZE1: CALL HFSJRQ
- V01ZE2: CALL CLOFIL
- V01ZE3: CALL HFSX
- V01ZE4: MOV AX,XSAXZC
- MOV DX,DS
- RET
- V01 ENDP
- ;-V02
- V02 PROC NEAR
- V02START:
- PUSH DS
- POP ES
- CLD
- CMP V02JMTZ,0FH
- JZ V02JMB
- MOV SI,OFFSET V02TZMA
- MOV CX,10H
- V02JMA: LODSB
- INC AL
- MOV [SI-1],AL
- LOOP V02JMA
- MOV V02JMTZ,0FH
- V02JMB: CALL BCSX
- JNB V02KS1
- MOV FHM,1
- JMP V02ZE4
- V02KS1: CALL GBSX
- JNB V02KS2
- MOV FHM,1
- JMP V02ZE4
- V02KS2: CALL WJXOPEN
- JNB V02KS3
- JMP V02OPENC
- V02KS3: CALL BCSJRQ
- JNB V02KS4
- JMP V02ZE2
- V02KS4: MOV DX,OFFSET WJTQ
- MOV CX,20H
- MOV AH,3FH
- MOV BX,WJH
- INT 21H
- JNB V02KS5
- JMP V02DWJC
- V02KS5: CMP WJTYPE,'C'
- JNZ V02WE1
- V02WC1: MOV DX,0
- MOV AX,0
- JMP V02SP4
- ;
- V02WE1: CMP CORPSETZ,0FH
- JZ V02SP1
- V02TZ1: MOV SI,OFFSET WJTQ
- MOV AX,[SI+8]
- ADD AX,[SI+16H]
- ROL AX,1
- ROL AX,1
- ROL AX,1
- ROL AX,1
- MOV DX,AX
- AND DX,000FH
- AND AX,0FFF0H
- JMP V02SP4
- ;
- V02SP1: CALL WJZZM
- MOV CX,WJCXZC
- MOV DI,BDDIZC
- CMP DX,0
- JNZ V02SP3
- CMP CX,4000H
- JNB V02SP3
- SUB DI,009AH
- JNB V02SP2
- JMP V02END2
- V02SP2: MOV DX,0
- MOV AX,DI
- JMP V02SP3
- V02SP3: SUB AX,4000H
- SBB DX,0
- ADD AX,DI
- ADC DX,0
- SUB AX,009AH
- SBB DX,0
- V02SP4: MOV WJCD1,DX
- MOV WJCD2,AX
- ;
- MOV BX,WJH
- MOV CX,DX
- MOV DX,AX
- ADD DX,042CH
- ADC CX,0
- MOV AX,4200H
- INT 21H
- JNB V02TZ4
- JMP V02CZC
- V02TZ4: LEA DX,BDTZHCQ
- MOV BX,WJH
- MOV CX,10H
- MOV AH,3FH
- INT 21H
- JNB V02TZ5
- JMP V02DWJC
- V02TZ5: MOV DI,OFFSET BDTZHCQ
- MOV SI,OFFSET V02TZMA
- MOV CX,10H
- REPE CMPSB
- JZ V02TZ6
- JMP V02END2
- V02TZ6: CMP WJTYPE,'C'
- JZ V02WC2
- JMP V02WE2
- ;
- V02WC2: CALL WJZZM
- MOV WJCD1,DX
- MOV WJCD2,AX
- CALL WJZZS
- MOV BX,WJH
- MOV CX,WJCD2
- MOV DX,0
- PUSH DS
- MOV AX,ESZC1
- MOV DS,AX
- MOV AH,3FH
- INT 21H
- POP DS
- JNB V02WC3
- JMP V02DWJC
- V02WC3: CALL WJZZS
- MOV CX,WJCD2
- SUB CX,0710H
- SUB CX,5
- MOV DX,0710H
- MOV BX,WJH
- PUSH DS
- MOV AX,ESZC1
- MOV DS,AX
- MOV AH,40H
- INT 21H
- POP DS
- JNB V02WC4
- JMP V02XWJC
- V02WC4: JMP V02WJ3
- ;
- V02WE2: MOV BX,WJH
- MOV CX,WJCD1
- MOV DX,WJCD2
- ADD DX,0043H
- ADC CX,0
- MOV AX,4200H
- INT 21H
- JNB V02WE3
- JMP V02CZC
- V02WE3: LEA DX,BDTZHCQ
- MOV BX,WJH
- MOV CX,10H
- MOV AH,3FH
- INT 21H
- JNB V02WE4
- JMP V02DWJC
- V02WE4: CMP AX,CX
- JZ V02WE5
- JMP V02END2
- V02WE5: MOV SI,OFFSET BDTZHCQ
- MOV DI,OFFSET WJTQ
- MOV AX,[SI+02H]
- MOV [DI+0EH],AX
- MOV AX,[SI+00H]
- MOV [DI+10H],AX
- MOV AX,[SI+04H]
- MOV [DI+14H],AX
- MOV AX,[SI+06H]
- MOV [DI+16H],AX
- ;
- MOV DX,WJCD1
- MOV AX,WJCD2
- MOV CX,0200H
- DIV CX
- OR DX,DX
- JZ V02WE6
- INC AX
- V02WE6: MOV [DI+02],DX
- MOV [DI+04],AX
- CALL WJZZS
- MOV BX,WJH
- MOV AH,40H
- MOV CX,0018H
- MOV DX,OFFSET WJTQ
- INT 21H
- JNB V02WJ1
- JMP V02XWJC
- V02WJ1: MOV CX,WJCD1
- MOV DX,WJCD2
- V02WJ2: MOV AX,4200H
- MOV BX,WJH
- INT 21H
- JNB V02WJ3
- JMP V02CZC
- V02WJ3: MOV AH,40H
- MOV BX,WJH
- MOV DX,0
- MOV CX,0
- INT 21H
- JNB V02WJ4
- JMP V02XWJC
- V02WJ4: JMP V02END0
- ;
- V02END2: MOV FHM,2
- MOV XSAXZC,0
- JMP V02ZE1
- V02END0: MOV FHM,0
- MOV XSAXZC,0
- JMP V02ZE1
- ;
- V02OPENC: MOV FHM,1
- MOV DX,OFFSET OPENCZF
- MOV XSAXZC,DX
- JMP V02ZE3
- ;
- V02CZC: MOV DX,OFFSET CZCZF
- JMP V02XSL
- V02DWJC: MOV DX,OFFSET DWJCZF
- JMP V02XSL
- V02XWJC: MOV DX,OFFSET XWJCZF
- V02XSL: MOV XSAXZC,DX
- V02END1: MOV FHM,1
- V02ZE1: CALL HFSJRQ
- V02ZE2: CALL CLOFIL
- V02ZE3: CALL HFSX
- V02ZE4: MOV AX,XSAXZC
- MOV DX,DS
- RET
- V02 ENDP
- ;-V03
- V03 proc near
- V03START:
- PUSH DS
- POP ES
- V03L01: MOV SI,OFFSET BOOTQ1
- MOV AX,[SI+04]
- CMP AX,1234H
- JNZ V03L02
- MOV AX,[SI]
- CMP AX,0E9FAH
- JZ V03L03
- V03L02: JMP V03END2
- ;
- V03L03: MOV RPJS,3H
- V03L04: MOV AX,0201H
- MOV SI,OFFSET BOOTQ1
- MOV DL,DLZC
- MOV DH,[SI+06]
- MOV CX,[SI+07]
- MOV BX,OFFSET BOOTQ2
- INT 13H
- JNB V03L06
- DEC RPJS
- JZ V03L05
- MOV AH,0
- INT 13H
- JMP V03L04
- V03L05: JMP V03DPC
- V03L06: MOV AL,[BX+15H]
- CMP AL,0FDH
- JZ V03L07
- MOV DX,OFFSET V03ZFA
- MOV AH,9
- INT 21H
- JMP V03END2
- V03L07: MOV RPJS,3
- V03L08: MOV AX,0202H
- MOV DL,DLZC
- MOV DH,00H
- MOV CX,0002H
- MOV BX,ESZC1
- MOV ES,BX
- MOV BX,0
- INT 13H
- JNB V03L10
- DEC RPJS
- JZ V03L09
- MOV AH,0
- INT 13H
- JMP V03L08
- V03L09: JMP V03DPC
- V03L10: MOV SI,OFFSET BOOTQ1
- MOV AL,[SI+08]
- XOR AH,AH
- SHL AL,1H
- ADD AL,[SI+06]
- MOV BX,0009
- MUL BX
- XOR BH,BH
- MOV BL,[SI+07]
- ADD AX,BX
- DEC AX
- MOV V03GZWA,AX
- MOV BYTE PTR V03JSBA,03H
- V03L11: MOV SI,OFFSET BOOTQ2
- MOV AX,0002H
- MOV BL,02H
- XOR BH,BH
- MUL BX
- MOV BX,AX
- MOV AX,0070H
- MOV CX,0010H
- DIV CX
- ADD BX,AX
- ADD BX,+01
- MOV AX,V03GZWA
- SUB AX,BX
- MOV BL,02H
- XOR BH,BH
- DIV BX
- ADD AX,0002H
- MOV BX,AX
- PUSH BX
- POP SI
- MOV BX,0
- MOV AX,SI
- MOV CX,AX
- SHL AX,1H
- ADD AX,CX
- TEST AX,0001H
- PUSHF
- SHR AX,1H
- MOV SI,AX
- MOV AX,ES:[BX+SI]
- POPF
- JNZ V03L14
- AND AX,0FFFH
- CMP AX,0FF7H
- JZ V03L13
- V03L12: JMP V03L20
- V03L13: MOV AX,0F000H
- AND ES:[BX+SI],AX
- JMP V03L15
- V03L14: AND AX,0FFF0H
- CMP AX,0FF70H
- JNZ V03L12
- MOV AX,000FH
- AND ES:[BX+SI],AX
- V03L15: DEC BYTE PTR V03JSBA
- JZ V03L16
- INC WORD PTR V03GZWA
- INC WORD PTR V03GZWA
- JMP V03L11
- V03L16: MOV AX,0301H
- MOV DL,DLZC
- MOV DH,00H
- MOV CX,0001H
- MOV BX,OFFSET BOOTQ2
- INT 13H
- JNB V03L17
- JMP V03XPC
- V03L17: MOV AX,0302H
- MOV DL,DLZC
- MOV DH,00H
- MOV CX,0002H
- MOV BX,ESZC1
- MOV ES,BX
- MOV BX,0
- INT 13H
- JNB V03L18
- JMP V03XPC
- V03L18: MOV AX,0302H
- MOV DL,DLZC
- MOV DH,00H
- MOV CX,0004H
- MOV BX,0
- INT 13H
- JNB V03L19
- JMP V03XPC
- V03L19: JMP V03END0
- ;
- V03END2: MOV FHM,2
- MOV XSAXZC,0
- JMP V03ZE
- V03END0: MOV FHM,0
- MOV XSAXZC,0
- JMP V03ZE
- ;
- V03L20: MOV DX,OFFSET V03ZFB
- JMP V03ZE1
- V03DPC: MOV DX,OFFSET DPCZF
- JMP V03ZE1
- V03XPC: MOV DX,OFFSET XPCZF
- V03ZE1: MOV XSAXZC,DX
- MOV FHM,1
- V03ZE: MOV AX,XSAXZC
- MOV DX,DS
- RET
- V03 endp
- ;-V04
- V04 proc near
- V04START:
- PUSH DS
- POP ES
- CALL BCSX
- JNB V04KS1
- MOV FHM,1
- JMP V04ZE4
- V04KS1: CALL GBSX
- JNB V04KS2
- MOV FHM,1
- JMP V04ZE4
- V04KS2: CALL WJXOPEN
- JNB V04KS3
- JMP V04OPENC
- V04KS3: CALL BCSJRQ
- JNB V04KS4
- JMP V04ZE2
- V04KS4: CALL WJZZM
- JNB V04KS5
- JMP V04CZC
- MOV WJCD1,DX
- MOV WJCD2,AX
- V04KS5: CALL WJZZS
- MOV AH,3FH
- MOV CX,0003H
- LEA DX,BDTZHCQ
- INT 21H
- JNB V04WJ1
- JMP V04DWJC
- V04WJ1: CALL WJZZM
- JNB V04WJ2
- JMP V04CZC
- V04WJ2: MOV WJCD1,DX
- MOV WJCD2,AX
- LEA DI,BDTZHCQ
- MOV AX,[DI+1]
- ADD AX,0002H
- MOV WJCD2,AX
- MOV BX,WJH
- MOV DX,AX
- XOR CX,CX
- MOV AX,4200H
- INT 21H
- JNB V04WJ3
- JMP V04CZC
- V04WJ3: LEA DI,BDTZHCQ
- CMP BYTE PTR [DI],0E9H
- JZ V04WJ4
- JMP V04END2
- V04WJ4: MOV AH,3FH
- MOV CX,0031H
- LEA DX,BDTZHCQ
- INT 21H
- JNB V04WJ5
- JMP V04DWJC
- PUSH BX
- MOV AX,WJCD2
- ADD AX,0123H
- MOV SI,AX
- MOV DI,0682H
- MOV CX,0023H
- LEA DX,BDTZHCQ
- ADD DX,+23H
- MOV BX,DX
- V04TZ1: XOR [BX],SI
- XOR [BX],DI
- INC CX
- INC BX
- INC SI
- DEC DI
- CMP CX,+31H
- JNZ V04TZ1
- POP BX
- ;
- LEA DI,BDTZHCQ
- CMP WORD PTR [DI+02],0EC8BH
- JNZ V04TZ2
- CMP WORD PTR [DI+06],5B00H
- JNZ V04TZ2
- CMP WORD PTR [DI+0AH],0131H
- JNZ V04TZ2
- CMP WORD PTR [DI+0EH],2A87H
- JZ V04WJ5
- V04TZ2: JMP V04END2
- V04WJ5: CALL WJZZS
- JNB V04WJ6
- JMP V04CZC
- V04WJ6: MOV AH,40H
- MOV CX,0003H
- LEA DX,BDTZHCQ
- ADD DX,2EH
- INT 21H
- JNB V04WJ7
- JMP V04XWJC
- V04WJ7: MOV AX,4200H
- MOV BX,WJH
- MOV CX,0
- MOV DX,WJCD2
- ADD DX,1
- INT 21H
- JNB V04WJ8
- JMP V04CZC
- V04WJ8: MOV BX,WJH
- MOV CX,0
- MOV DX,0
- MOV AH,40H
- INT 21H
- JNB V04END0
- JMP V04XWJC
- ;
- V04END2: MOV FHM,2
- MOV XSAXZC,0
- JMP V04ZE1
- V04END0: MOV FHM,0
- MOV XSAXZC,0
- JMP V04ZE1
- ;
- V04OPENC: MOV FHM,1
- MOV DX,OFFSET OPENCZF
- MOV XSAXZC,DX
- JMP V04ZE3
- ;
- V04CZC: MOV DX,OFFSET CZCZF
- JMP V04XSL
- V04DWJC: MOV DX,OFFSET DWJCZF
- JMP V04XSL
- V04XWJC: MOV DX,OFFSET XWJCZF
- V04XSL: MOV XSAXZC,DX
- V04END1: MOV FHM,1
- V04ZE1: CALL HFSJRQ
- V04ZE2: CALL CLOFIL
- V04ZE3: CALL HFSX
- V04ZE4: MOV AX,XSAXZC
- MOV DX,DS
- RET
- V04 ENDP
- ;-V05
- V05 proc near
- V05START:
- PUSH DS
- POP ES
- MOV SI,OFFSET BOOTQ1
- JMP V05L02
- V05L01: MOV DI,OFFSET V05TZMA
- V05L02: MOV CX,001AH
- REPZ CMPSB
- JZ V05L03
- MOV AX,OFFSET BOOTQ1
- ADD AX,01FFH
- CMP AX,SI
- JNZ V05L01
- JMP V05END2
- ;
- V05L03: MOV DL,DLZC
- CMP DL,02H
- JNB V05YP
- JMP V05RP
- ;
- V05YP: MOV DL,80H
- MOV DH,0
- MOV CX,0007H
- MOV BX,OFFSET BOOTQ2
- MOV AX,0201
- INT 13H
- JB V05YPA
- MOV AX,[BX+01FEH]
- CMP AX,0AA55H
- JNZ V05YPB
- MOV BX,OFFSET BOOTQ2
- JMP V05YPC
- V05YPA: JMP V05DPC
- V05YPB: MOV SI,OFFSET FQSQ
- MOV DI,OFFSET BOOTQ1
- MOV CX,01BEH
- REPNZ MOVSB
- MOV BX,OFFSET BOOTQ1
- V05YPC: MOV DL,80H
- MOV DH,0
- MOV CX,0001H
- MOV AX,0201H
- INT 13
- JB V05YPD
- JMP V05END0
- V05YPD: JMP V05XPC
- ;
- V05RP: MOV RPJS,3
- MOV V05GZB1,0
- V05RPA: MOV DH,01H
- MOV DL,DLZC
- MOV CX,0003H
- MOV BX,OFFSET BOOTQ2
- MOV AX,0201H
- INT 13H
- JNB V05RPC
- DEC RPJS
- JZ V05RPB
- MOV AH,0
- INT 13H
- JMP V05RPA
- V05RPB: JMP V05DPC
- V05RPC: MOV AX,[BX+01FEH]
- CMP AX,0AA55H
- JZ V05RPL
- MOV V05GZB1,0FH
- V05RPL: MOV RPJS,3
- V05RPD: MOV DH,00H
- MOV DL,DLZC
- MOV CX,0001H
- MOV BX,OFFSET BOOTQ2
- MOV AX,0301H
- INT 13H
- JNB V05RPG
- DEC RPJS
- JZ V05RPF
- MOV AH,0
- INT 13H
- JMP V05RPD
- V05RPF: JMP V05XPC
- V05RPG: MOV CX,200H
- MOV DI,OFFSET BOOTQ2
- V05RPH: MOV AL,0E5H
- STOSB
- LOOP V05RPH
- MOV RPJS,3
- V05RPI: MOV DH,01H
- MOV DL,DLZC
- MOV CX,0003H
- MOV BX,OFFSET BOOTQ2
- MOV AX,0301H
- INT 13H
- JNB V05RPK
- DEC RPJS
- JZ V05RPJ
- MOV AH,0
- INT 13H
- JMP V05RPI
- V05RPJ: JMP V05XPC
- V05RPK: CMP V05GZB1,3
- JNZ V05END0
- ;
- V05END2: MOV FHM,2
- MOV XSAXZC,0
- JMP V05ZE
- V05END0: MOV FHM,0
- MOV XSAXZC,0
- JMP V05ZE
- ;
- V05DPC: MOV DX,OFFSET DPCZF
- JMP V05ZE1
- V05XPC: MOV DX,OFFSET XPCZF
- V05ZE1: MOV XSAXZC,DX
- MOV FHM,1
- V05ZE: MOV AX,XSAXZC
- MOV DX,DS
- RET
- V05 endp
- ;-V06
- V06 proc near
- V06START:
- PUSH DS
- POP ES
- CALL BCSX
- JNB V06KS1
- MOV FHM,1
- JMP V06ZE4
- V06KS1: CALL GBSX
- JNB V06KS2
- MOV FHM,1
- JMP V06ZE4
- V06KS2: CALL WJXOPEN
- JNB V06KS3
- JMP V06OPENC
- V06KS3: CALL BCSJRQ
- JNB V06KS4
- JMP V06ZE2
- V06KS4: CALL WJZZM
- JNB V06KS5
- JMP V06CZC
- MOV WJCD1,DX
- MOV WJCD2,AX
- V06KS5:
- MOV ENDJS,0
- MOV AX,4202H
- MOV BX,WJH
- MOV CX,0FFFFH
- MOV DX,-0627H
- ADD DX,0059H
- SUB DX,20H
- INT 21h
- JNB V06TZ1
- JMP V06CZC
- V06TZ1: LEA DX,BDTZHCQ
- MOV BX,WJH
- MOV cx,14H
- ADD CX,20H
- MOV ah,3fh
- INT 21h
- JNB V06TZ2
- JMP V06DWJC
- V06TZ2: LEA DI,BDTZHCQ
- ADD DI,20H
- V06TZ3: PUSH DI
- MOV SI,OFFSET V06TZMA
- MOV CX,14H
- REPZ CMPSB
- CMP CX,0
- JZ V06WJC
- POP DI
- DEC DI
- INC ENDJS
- CMP ENDJS,20h
- JNZ V06TZ3
- JMP V06END2
- V06WJC: POP DI
- CMP WJTYPE,'E'
- JNZ V06C1
- JMP V06E1
- ;
- V06C1:
- MOV AX,4202h
- MOV cx,0ffffh
- MOV DX,-0627H
- ADD DX,0000h
- SUB DX,ENDJS
- MOV BX,wjh
- INT 21h
- JNB V06C2
- JMP V06CZC
- V06C2: MOV DX,offset BDTZHCQ
- MOV si,DX
- MOV BX,wjh
- MOV cx,40h
- MOV ah,3fh
- INT 21h
- JNB V06C3
- JMP V06DWJC
- V06C3:
- MOV SI,OFFSET BDTZHCQ
- ADD SI,0BH
- MOV DI,OFFSET WJTQ
- MOV CX,000CH
- V06C4: LODSB
- STOSB
- LOOP V06C4
- CALL WJZZS
- MOV DX,OFFSET WJTQ
- MOV CX,000CH
- MOV AH,40H
- INT 21H
- JNB V06C6
- JMP V06XWJC
- V06C6: JMP V06E6
- ;
- V06E1:
- CALL WJZZS
- MOV AX,WJH
- MOV BX,AX
- MOV AH,3FH
- MOV CX,0018H
- MOV DX,OFFSET WJTQ
- INT 21H
- JNB V06E4
- JMP V06DWJC
- V06E4:
- MOV AX,4202h
- MOV cx,0ffffh
- MOV DX,-0627H
- ADD DX,0000h
- SUB DX,ENDJS
- MOV BX,wjh
- INT 21h
- JNB V06E4A
- JMP V06CZC
- V06E4A: MOV DX,offset BDTZHCQ
- MOV si,DX
- MOV BX,wjh
- MOV cx,40h
- MOV ah,3fh
- INT 21h
- JNB V06E5
- JMP V06DWJC
- V06E5:
- MOV SI,OFFSET BDTZHCQ
- MOV DI,OFFSET WJTQ
- MOV AX,[si+23h]
- MOV [di+16h],AX
- MOV AX,[si+25h]
- MOV [di+14h],AX
- MOV AX,[si+31h]
- MOV [di+0Eh],AX
- MOV AX,[si+33h]
- MOV [di+10h],AX
- MOV AX,WJCD2
- MOV DX,WJCD1
- SUB AX,0627H
- SBB DX,0
- SUB AX,ENDJS
- SBB DX,0
- MOV CX,0200H
- DIV CX
- OR DX,DX
- JZ V06E5A
- INC AX
- V06E5A: MOV [DI+02],DX
- MOV [DI+04],AX
- CALL WJZZS
- MOV AX,WJH
- MOV BX,AX
- MOV AH,40H
- MOV CX,0018H
- MOV DX,OFFSET WJTQ
- INT 21H
- JNB V06E6
- JMP V06XWJC
- V06E6:
- MOV AX,4202H
- MOV CX,0FFFFH
- MOV DX,-627H
- SUB DX,ENDJS
- MOV BX,WJH
- INT 21H
- JNB V06E7
- JMP V06CZC
- V06E7: MOV AH,40H
- MOV BX,WJH
- MOV DX,0
- MOV CX,0
- INT 21H
- JNB V06END0
- JMP V06XWJC
- ;
- V06END2: MOV FHM,2
- MOV XSAXZC,0
- JMP V06ZE1
- V06END0: MOV FHM,0
- MOV XSAXZC,0
- JMP V06ZE1
- ;
- V06OPENC: MOV FHM,1
- MOV DX,OFFSET OPENCZF
- MOV XSAXZC,DX
- JMP V06ZE3
- ;
- V06CZC: MOV DX,OFFSET CZCZF
- JMP V06XSL
- V06DWJC: MOV DX,OFFSET DWJCZF
- JMP V06XSL
- V06XWJC: MOV DX,OFFSET XWJCZF
- V06XSL: MOV XSAXZC,DX
- V06END1: MOV FHM,1
- V06ZE1: CALL HFSJRQ
- V06ZE2: CALL CLOFIL
- V06ZE3: CALL HFSX
- V06ZE4: MOV AX,XSAXZC
- MOV DX,DS
- RET
- V06 ENDP
- ;-V07
- V07 proc near
- V07START:
- PUSH DS
- POP ES
- MOV SI,OFFSET BOOTQ1
- MOV AL,[SI+08H]
- CMP AL,33H
- JB V07L01
- MOV DL,DLZC
- INC DL
- MOV AH,36H
- INT 21H
- CMP DX,0FF7H
- JB V07L01
- MOV V07GZBA,10H
- JMP V07L02
- V07L01: MOV V07GZBA,0CH
- V07L02: MOV AX,[SI+0094H]
- CMP AX,7C00H
- JNZ V07L03
- MOV AX,[SI+63H]
- CMP AX,7DF9H
- JZ V07L04
- V07L03: JMP V07END2
- ;
- V07L04: MOV AL,DLZC
- MOV SI,OFFSET BOOTQ1
- MOV CX,0001H
- MOV DX,[SI+01F9H]
- INC DX
- MOV BX,OFFSET BOOTQ2
- INT 25H
- POP AX
- JNB V07L05
- JMP V07DPC
- V07L05:
- MOV SI,OFFSET BOOTQ2
- MOV AX,[SI+01FEH]
- CMP AX,0AA55H
- JZ V07L06
- JMP V07OTHER
- ;
- V07L06: MOV SI,OFFSET BOOTQ1
- MOV AX,[SI+16H]
- MOV BL,[SI+10H]
- XOR BH,BH
- MUL BX
- MOV BX,AX
- MOV AX,[SI+11H]
- MOV CX,0010H
- DIV CX
- ADD BX,AX
- ADD BX,[SI+0EH]
- MOV AX,[SI+01F9H]
- SUB AX,BX
- MOV BL,[SI+0DH]
- XOR BH,BH
- DIV BX
- ADD AX,0002H
- MOV BX,AX
- MOV AL,DLZC
- MOV CX,[SI+16H]
- MOV DX,[SI+0EH]
- MOV V07GZWA,BX
- MOV BX,ESZC1
- MOV ES,BX
- PUSH DS
- MOV DS,BX
- MOV BX,0
- INT 25H
- POP AX
- POP DS
- JNB V07L07
- JMP V07DPC
- ;
- V07L07:
- MOV CL,0CH
- MOV SI,V07GZWA
- XOR CL,V07GZBA
- JNZ V07L11
- ;RP
- MOV AX,SI
- MOV CX,AX
- SHL AX,1H
- ADD AX,CX
- TEST AX,0001H
- PUSHF
- SHR AX,1H
- MOV SI,AX
- MOV AX,[BX+SI]
- POPF
- JNZ V07L10
- AND AX,0FFFH
- CMP AX,0FF7H
- JZ V07L09
- V07L08: JMP V07OTHER
- V07L09: MOV AX,0F000H
- AND ES:[BX+SI],AX
- JMP V07RYP
- V07L10: AND AX,0FFF0H
- CMP AX,0FF70H
- JNZ V07L08
- MOV AX,000FH
- AND ES:[BX+SI],AX
- JMP V07RYP
- ;YP
- V07L11: SHL SI,1H
- MOV AX,[BX+SI]
- CMP AX,0FFF7H
- JZ V07L12
- JMP V07OTHER
- V07L12: MOV AX,0000H
- MOV ES:[BX+SI],AX
- V07RYP: MOV AL,DLZC
- MOV SI,OFFSET BOOTQ1
- MOV CX,[SI+16H]
- MOV DX,[SI+0EH]
- MOV BX,ESZC1
- PUSH DS
- MOV DS,BX
- MOV BX,0
- INT 26H
- POP AX
- POP DS
- JNB V07L13
- JMP V07XPC
- V07L13:
- MOV AL,DLZC
- MOV SI,OFFSET BOOTQ1
- MOV CX,[SI+16H]
- ADD DX,[SI+16H]
- MOV BX,ESZC1
- PUSH DS
- MOV DS,BX
- MOV BX,0
- INT 26H
- POP AX
- POP DS
- JNB V07P14
- JMP V07XPC
- V07P14:
- MOV AL,DLZC
- MOV CX,0001H
- MOV DX,0000H
- MOV BX,ESZC1
- PUSH DS
- MOV DS,BX
- MOV BX,0
- INT 26H
- POP AX
- POP DS
- JNB V07L15
- JMP V07XPC
- V07L15:
- JMP V07END0
- ;
- V07END2: MOV FHM,2
- MOV XSAXZC,0
- JMP V07ZE
- V07END0: MOV FHM,0
- MOV XSAXZC,0
- JMP V07ZE
- V07OTHER: MOV DX,OFFSET V07ZFA
- JMP V07ZE1
- V07DPC: MOV DX,OFFSET DPCZF
- JMP V07ZE1
- V07XPC: MOV DX,OFFSET XPCZF
- V07ZE1: MOV XSAXZC,DX
- MOV FHM,1
- V07ZE: MOV AX,XSAXZC
- MOV DX,DS
- RET
- V07 endp
- ;-V08
- V08 proc near
- V08START:
- PUSH DS
- POP ES
- CALL BCSX
- JNB V08KS1
- MOV FHM,1
- JMP V08ZE4
- V08KS1: CALL GBSX
- JNB V08KS2
- MOV FHM,1
- JMP V08ZE4
- V08KS2: CALL WJXOPEN
- JNB V08KS3
- JMP V08OPENC
- V08KS3: CALL BCSJRQ
- JNB V08KS4
- JMP V08ZE2
- V08KS4: CALL WJZZM
- JNB V08KS5
- JMP V08CZC
- MOV WJCD1,DX
- MOV WJCD2,AX
- V08KS5: CALL WJZZS
- MOV AH,3FH
- MOV CX,0020H
- LEA DX,BDTZHCQ
- INT 21H
- JNB V08WJ1
- JMP V08DWJC
- V08WJ1: CMP WJTYPE,'E'
- JZ V08E1
- V08C1: LEA DI,BDTZHCQ
- MOV AX,[DI+1]
- ADD AX,0003H
- MOV DX,AX
- XOR CX,CX
- JMP V08E1A
- ;
- V08E1: LEA DI,BDTZHCQ
- MOV DX,[DI+08]
- ADD DX,[DI+16H]
- MOV CL,04H
- ROL DX,CL
- MOV CX,DX
- AND CX,000FH
- AND DX,0FFF0H
- ADD DX,[DI+14H]
- JNB V08E1A
- INC CX
- V08E1A: MOV WJCD2,DX
- MOV WJCD1,CX
- MOV AX,4200H
- MOV BX,WJH
- INT 21H
- JNB V08WJ2
- JMP V08CZC
- V08WJ2: MOV AH,3FH
- MOV CX,000FH
- LEA DX,BDTZHCQ
- MOV BX,WJH
- INT 21H
- JNB V08WJ3
- JMP V08DWJC
- V08WJ3: LEA DI,BDTZHCQ
- CMP WORD PTR [DI],00E8H
- JNZ V08WJ5
- CMP WORD PTR [DI+02],5B00H
- JNZ V08WJ5
- CMP WORD PTR [DI+04],0EB81H
- JNZ V08WJ5
- CMP WORD PTR [DI+06],07DCH
- JNZ V08WJ4
- MOV DX,0F822H
- JMP V08WJ7
- V08WJ4: CMP WORD PTR [DI+6],07D4H
- JZ V08WJ6
- V08WJ5: JMP V08END2
- V08WJ6: MOV DX,0F82AH
- V08WJ7: MOV CX,0FFFFH
- MOV AX,4201H
- MOV BX,WJH
- INT 21H
- JNB V08WJ8
- JMP V08CZC
- V08WJ8: MOV WJCD2,AX
- MOV WJCD1,DX
- MOV CX,0020H
- LEA DX,BDTZHCQ
- MOV AH,3FH
- MOV BX,WJH
- INT 21H
- JNB V08WJ9
- JMP V08DWJC
- V08WJ9: CALL WJZZS
- LEA DX,BDTZHCQ
- MOV AH,40H
- MOV CX,0020H
- MOV BX,WJH
- INT 21H
- JNB V08WJ10
- JMP V08XWJC
- V08WJ10:
- MOV AX,4200H
- MOV CX,WJCD1
- MOV DX,WJCD2
- CMP WJTYPE,'E'
- JZ V08WJ12
- SUB DX,0AH
- V08WJ12:
- MOV BX,WJH
- INT 21H
- JNB V08WJ11
- JMP V08CZC
- V08WJ11:
- MOV AH,40H
- MOV DX,0
- MOV CX,0
- INT 21H
- JNB V08END0
- JMP V08XWJC
- ;
- V08END2: MOV FHM,2
- MOV XSAXZC,0
- JMP V08ZE1
- V08END0: MOV FHM,0
- MOV XSAXZC,0
- JMP V08ZE1
- ;
- V08OPENC: MOV FHM,1
- MOV DX,OFFSET OPENCZF
- MOV XSAXZC,DX
- JMP V08ZE3
- ;
- V08CZC: MOV DX,OFFSET CZCZF
- JMP V08XSL
- V08DWJC: MOV DX,OFFSET DWJCZF
- JMP V08XSL
- V08XWJC: MOV DX,OFFSET XWJCZF
- V08XSL: MOV XSAXZC,DX
- V08END1: MOV FHM,1
- V08ZE1: CALL HFSJRQ
- V08ZE2: CALL CLOFIL
- V08ZE3: CALL HFSX
- V08ZE4: MOV AX,XSAXZC
- MOV DX,DS
- RET
- V08 ENDP
- ;-V09
- V09 PROC NEAR
- V09START:
- PUSH DS
- POP ES
- CLD
- CMP V09JMTZ,0FH
- JZ V09JMB
- MOV SI,OFFSET V09TZMA
- MOV CX,14H
- V09JMA: LODSB
- INC AL
- MOV [SI-1],AL
- LOOP V09JMA
- MOV V09JMTZ,0FH
- V09JMB: CALL BCSX
- JNB V09KS1
- MOV FHM,1
- MOV DX,OFFSET CZCZF
- MOV XSAXZC,DX
- JMP V09ZE4
- V09KS1: CALL GBSX
- JNB V09KS3
- MOV FHM,1
- MOV DX,OFFSET CZCZF
- MOV XSAXZC,DX
- JMP V09ZE4
- V09KS3: CALL WJXOPEN
- JNB V09KS4
- JMP V09OPENC
- V09KS4: CALL BCSJRQ
- JNB V09KS5
- MOV XSAXZC,0
- MOV FHM,1
- JMP V09ZE2
- V09KS5: MOV BX,WJH
- MOV AH,3FH
- MOV CX,0020H
- LEA DX,WJTQ
- MOV DI,DX
- MOV BX,WJH
- INT 21H
- JNB V09WJ1
- JMP V09DWJC
- V09WJ1: CMP WORD PTR [DI],5A4DH
- JZ V09WJ2
- CMP CORPSETZ,0FH
- JZ V09SP1
- CMP BYTE PTR [DI],0E9H
- JNZ V09WJ2
- MOV AX,[DI+1]
- ADD AX,3
- MOV DX,0
- JMP V09SP4
- V09WJ2: JMP V09END2
- V09SP1: CALL WJZZM
- MOV CX,WJCXZC
- MOV DI,BDDIZC
- CMP DX,0
- JNZ V09SP3
- CMP CX,4000H
- JNB V09SP3
- SUB DI,08EAH
- JNB V09SP2
- JMP V09END2
- V09SP2: MOV DX,0
- MOV AX,DI
- JMP V09SP4
- V09SP3: SUB AX,4000H
- SBB DX,0
- ADD AX,DI
- ADC DX,0
- SUB AX,08EAH
- SBB DX,0
- V09SP4: MOV WJCD1,DX
- MOV WJCD2,AX
- ;
- MOV BX,WJH
- MOV CX,DX
- MOV DX,AX
- ADD DX,05D0H
- MOV AX,4200H
- INT 21H
- JNB V09WJ3
- JMP V09CZC
- V09WJ3: LEA DX,BDTZHCQ
- MOV BX,WJH
- MOV CX,14H
- MOV AH,3FH
- INT 21H
- JNB V09WJ4
- JMP V09DWJC
- V09WJ4: MOV DI,OFFSET BDTZHCQ
- MOV SI,OFFSET V09TZMA
- MOV CX,14H
- REPE CMPSB
- JZ V09WJ5
- JMP V09END2
- ;
- V09WJ5: MOV BX,WJH
- MOV CX,WJCD1
- MOV DX,WJCD2
- ADD DX,0003H
- MOV AX,4200H
- INT 21H
- JNB V09WJ6
- JMP V09CZC
- V09WJ6: LEA DX,BDTZHCQ
- MOV BX,WJH
- MOV CX,4
- MOV AH,3FH
- INT 21H
- JNB V09WJ7
- JMP V09DWJC
- V09WJ7: CALL WJZZS
- MOV DX,OFFSET BDTZHCQ
- MOV CX,4
- MOV AH,40H
- INT 21H
- JNB V09WJ8
- JMP V09XWJC
- V09WJ8: MOV CX,WJCD1
- MOV DX,WJCD2
- MOV AX,4200H
- MOV BX,WJH
- INT 21H
- JNB V09WJ9
- JMP V09CZC
- V09WJ9: MOV CX,0
- MOV AH,40H
- INT 21H
- JNB V09END0
- JMP V09XWJC
- ;
- V09END2: MOV FHM,2
- MOV XSAXZC,0
- JMP V09ZE1
- V09END0: MOV FHM,0
- MOV XSAXZC,0
- JMP V09ZE1
- ;
- V09OPENC: MOV FHM,1
- MOV DX,OFFSET OPENCZF
- MOV XSAXZC,DX
- JMP V09ZE3
- ;
- V09CZC: MOV DX,OFFSET CZCZF
- JMP V09XSL
- V09DWJC: MOV DX,OFFSET DWJCZF
- JMP V09XSL
- V09XWJC: MOV DX,OFFSET XWJCZF
- V09XSL: MOV XSAXZC,DX
- MOV FHM,1
- V09ZE1: CALL HFSJRQ
- V09ZE2: CALL CLOFIL
- V09ZE3: CALL HFSX
- V09ZE4: MOV AX,XSAXZC
- MOV DX,DS
- RET
- V09 ENDP
- ;-V10
- V10 proc near
- V10START:
- PUSH DS
- POP ES
- MOV SI,OFFSET BOOTQ1
- CMP BYTE PTR [SI],0FAH
- JNZ V10L01
- CMP WORD PTR [SI+01],4FEBH
- JNZ V10L01
- CMP WORD PTR [SI+3EH],3CCBH
- JNZ V10L01
- JMP V10L02
- V10L01:
- JMP V10END2
- ;
- V10L02: MOV SI,OFFSET BOOTQ1
- MOV DX,[SI+40H]
- MOV CX,0001H
- MOV BX,OFFSET BOOTQ2
- MOV AL,DLZC
- INT 25H
- POP AX
- JNB V10L03
- JMP V10DPC
- V10L03:
- MOV AL,DLZC
- MOV CX,0001H
- MOV DX,0000H
- MOV BX,OFFSET BOOTQ2
- INT 26H
- POP AX
- JNB V10L04
- JMP V10XPC
- V10L04: CALL PMHHHC
- MOV DX,OFFSET V10OKZF
- MOV AH,09H
- INT 21H
- CMP DLZC,2
- JB V10L05
- JMP V10ZE
- ;
- V10L05: MOV AL,DLZC
- MOV SI,OFFSET BOOTQ1
- MOV CX,[SI+16H]
- MOV DX,[SI+0EH]
- PUSH DS
- MOV BX,ESZC1
- MOV DS,BX
- MOV ES,BX
- MOV BX,0
- INT 25H
- POP AX
- POP DS
- JNB V10L06
- JMP V10DPC
- V10L06:
- MOV SI,OFFSET BOOTQ1
- MOV AX,[SI+0BH]
- MOV CL,20H
- DIV CL
- MOV CL,AL
- MOV AX,[SI+11H]
- DIV CL
- ADD AX,[SI+0EH]
- MOV BX,AX
- MOV AX,[SI+16H]
- MUL BYTE PTR [SI+10H]
- ADD BX,AX
- MOV AX,[SI+42H]
- SUB AX,BX
- MOV CL,[SI+0DH]
- XOR CH,CH
- XOR DX,DX
- DIV CX
- CMP DX,+00
- JZ V10L07
- INC AX
- V10L07: ADD AX,0002H
- MOV CX,AX
- V10L08:
- PUSH CX
- MOV SI,0
- MOV BX,CX
- SHL BX,1H
- ADD BX,CX
- SHR BX,1H
- MOV DX,ES:[BX+SI]
- TEST CX,0001H
- JZ V10L09
- MOV CL,04H
- SHR DX,CL
- V10L09: AND DX,0FFFH
- POP CX
- CMP DX,0FF7H
- JNZ V10L12
- PUSH CX
- MOV SI,0
- MOV BX,CX
- SHL BX,1H
- ADD BX,CX
- SHR BX,1H
- MOV DX,ES:[BX+SI]
- TEST CX,0001H
- JZ V10L10
- AND DX,000FH
- JMP V10L11
- V10L10: AND DX,0F000H
- V10L11: MOV ES:[BX+SI],DX
- POP CX
- ;
- INC CX
- JMP V10L08
- V10L12: MOV AL,DLZC
- MOV SI,OFFSET BOOTQ1
- MOV CX,[SI+16H]
- MOV DX,[SI+0EH]
- PUSH DS
- MOV BX,ESZC1
- MOV DS,BX
- MOV ES,BX
- MOV BX,0
- INT 26H
- POP AX
- POP DS
- JNB V10L13
- JMP V10XPC
- V10L13:
- MOV AL,DLZC
- MOV SI,OFFSET BOOTQ1
- MOV CX,[SI+16H]
- MOV DX,[SI+0EH]
- ADD DX,[SI+16H]
- PUSH DS
- MOV BX,ESZC1
- MOV DS,BX
- MOV ES,BX
- MOV BX,0
- INT 26H
- POP AX
- POP DS
- JNB V10L14
- JMP V10XPC
- V10L14:
- JMP V10END0
- ;
- V10END2: MOV FHM,2
- MOV XSAXZC,0
- JMP V10ZE
- V10END0: MOV FHM,0
- MOV XSAXZC,0
- JMP V10ZE
- ;
- V10DPC: MOV DX,OFFSET DPCZF
- JMP V10ZE1
- V10XPC: MOV DX,OFFSET XPCZF
- V10ZE1: MOV XSAXZC,DX
- MOV FHM,1
- V10ZE: MOV AX,XSAXZC
- MOV DX,DS
- RET
- V10 endp
- ;-V11
- V11 PROC NEAR
- V11START:
- PUSH DS
- POP ES
- CLD
- CMP V11JMTZ,0FH
- JZ V11JMB
- MOV SI,OFFSET V11TZMA
- MOV CX,15H
- V11JMA: LODSB
- INC AL
- MOV [SI-1],AL
- LOOP V11JMA
- MOV V11JMTZ,0FH
- V11JMB: CALL BCSX
- JNB V11KS1
- MOV FHM,1
- JMP V11ZE4
- V11KS1: CALL GBSX
- JNB V11KS2
- MOV FHM,1
- JMP V11ZE4
- V11KS2: CALL WJXOPEN
- JNB V11KS3
- JMP V11OPENC
- V11KS3: CALL BCSJRQ
- JNB V11KS4
- JMP V11ZE2
- V11KS4: MOV DX,OFFSET WJTQ
- MOV CX,20H
- MOV AH,3FH
- MOV BX,WJH
- INT 21H
- JNB V11KS5
- JMP V11DWJC
- V11KS5: CMP WJTYPE,'C'
- JNZ V11WE1
- V11WC1: MOV DX,0
- MOV AX,0
- JMP V11SP4
- ;
- V11WE1: CMP CORPSETZ,0FH
- JZ V11SP1
- V11TZ1: MOV SI,OFFSET WJTQ
- MOV AX,[SI+8]
- ADD AX,[SI+16H]
- ROL AX,1
- ROL AX,1
- ROL AX,1
- ROL AX,1
- MOV DX,AX
- AND DX,000FH
- AND AX,0FFF0H
- JMP V11SP4
- ;
- V11SP1: CALL WJZZM
- MOV CX,WJCXZC
- MOV DI,BDDIZC
- CMP DX,0
- JNZ V11SP3
- CMP CX,4000H
- JNB V11SP3
- SUB DI,009AH
- JNB V11SP2
- JMP V11END2
- V11SP2: MOV DX,0
- MOV AX,DI
- JMP V11SP3
- V11SP3: SUB AX,4000H
- SBB DX,0
- ADD AX,DI
- ADC DX,0
- SUB AX,009AH
- SBB DX,0
- V11SP4: MOV WJCD1,DX
- MOV WJCD2,AX
- ;
- MOV BX,WJH
- MOV CX,DX
- MOV DX,AX
- ADD DX,01DAH
- ADC CX,0
- MOV AX,4200H
- INT 21H
- JNB V11TZ4
- JMP V11CZC
- V11TZ4: LEA DX,BDTZHCQ
- MOV BX,WJH
- MOV CX,15H
- MOV AH,3FH
- INT 21H
- JNB V11TZ5
- JMP V11DWJC
- V11TZ5: MOV DI,OFFSET BDTZHCQ
- MOV SI,OFFSET V11TZMA
- MOV CX,15H
- REPE CMPSB
- JZ V11TZ6
- JMP V11END2
- V11TZ6: CMP WJTYPE,'C'
- JZ V11WC2
- JMP V11WE2
- ;
- V11WC2: CALL WJZZM
- MOV WJCD1,DX
- MOV WJCD2,AX
- CALL WJZZS
- MOV BX,WJH
- MOV CX,WJCD2
- MOV DX,0
- PUSH DS
- MOV AX,ESZC1
- MOV DS,AX
- MOV AH,3FH
- INT 21H
- POP DS
- JNB V11WC3
- JMP V11DWJC
- V11WC3: CALL WJZZS
- MOV CX,WJCD2
- SUB CX,0660H
- MOV DX,065FH
- MOV BX,WJH
- PUSH DS
- MOV AX,ESZC1
- MOV DS,AX
- MOV AH,40H
- INT 21H
- POP DS
- JNB V11WC4
- JMP V11XWJC
- V11WC4: JMP V11WJ3
- ;
- V11WE2: MOV BX,WJH
- MOV CX,WJCD1
- MOV DX,WJCD2
- ADD DX,0043H
- ADC CX,0
- MOV AX,4200H
- INT 21H
- JNB V11WE3
- JMP V11CZC
- V11WE3: LEA DX,BDTZHCQ
- MOV BX,WJH
- MOV CX,10H
- MOV AH,3FH
- INT 21H
- JNB V11WE4
- JMP V11DWJC
- V11WE4: CMP AX,CX
- JZ V11WE5
- JMP V11END2
- V11WE5: MOV SI,OFFSET BDTZHCQ
- MOV DI,OFFSET WJTQ
- MOV AX,[SI+02H]
- MOV [DI+0EH],AX
- MOV AX,[SI+00H]
- MOV [DI+10H],AX
- MOV AX,[SI+04H]
- MOV [DI+14H],AX
- MOV AX,[SI+06H]
- MOV [DI+16H],AX
- ;
- MOV DX,WJCD1
- MOV AX,WJCD2
- MOV CX,0200H
- DIV CX
- OR DX,DX
- JZ V11WE6
- INC AX
- V11WE6: MOV [DI+02],DX
- MOV [DI+04],AX
- CALL WJZZS
- MOV BX,WJH
- MOV AH,40H
- MOV CX,0018H
- MOV DX,OFFSET WJTQ
- INT 21H
- JNB V11WJ1
- JMP V11XWJC
- V11WJ1: MOV CX,WJCD1
- MOV DX,WJCD2
- V11WJ2: MOV AX,4200H
- MOV BX,WJH
- INT 21H
- JNB V11WJ3
- JMP V11CZC
- V11WJ3: MOV AH,40H
- MOV BX,WJH
- MOV DX,0
- MOV CX,0
- INT 21H
- JNB V11WJ4
- JMP V11XWJC
- V11WJ4: JMP V11END0
- ;
- V11END2: MOV FHM,2
- MOV XSAXZC,0
- JMP V11ZE1
- V11END0: MOV FHM,0
- MOV XSAXZC,0
- JMP V11ZE1
- ;
- V11OPENC: MOV FHM,1
- MOV DX,OFFSET OPENCZF
- MOV XSAXZC,DX
- JMP V11ZE3
- ;
- V11CZC: MOV DX,OFFSET CZCZF
- JMP V11XSL
- V11DWJC: MOV DX,OFFSET DWJCZF
- JMP V11XSL
- V11XWJC: MOV DX,OFFSET XWJCZF
- V11XSL: MOV XSAXZC,DX
- V11END1: MOV FHM,1
- V11ZE1: CALL HFSJRQ
- V11ZE2: CALL CLOFIL
- V11ZE3: CALL HFSX
- V11ZE4: MOV AX,XSAXZC
- MOV DX,DS
- RET
- V11 ENDP
- ;-V12
- V12 proc near
- V12START:
- PUSH DS
- POP ES
- MOV SI,OFFSET BOOTQ1
- MOV AX,[SI]
- CMP AX,31FAH
- JNZ V12L01
- MOV AX,[SI+02]
- CMP AX,8EC0H
- JNZ V12L01
- MOV AX,[SI+00E6H]
- CMP AX,0E987H
- JNZ V12L01
- MOV AX,[SI+01C9H]
- CMP AX,56BFH
- JZ V12L02
- V12L01: JMP V12END2
- ;
- V12L02: MOV RPJS,3
- V12L03: MOV AX,0201H
- MOV DL,DLZC
- MOV DH,00H
- MOV CH,27H
- MOV CL,08H
- MOV BX,OFFSET BOOTQ2
- INT 13H
- JNB V12L05
- DEC RPJS
- JZ V12L04
- MOV AH,0
- INT 13H
- JMP V12L03
- V12L04: JMP V12DPC
- ;
- V12L05: MOV SI,OFFSET BOOTQ2
- ; JMP V12L06
- MOV AX,[SI+01FEH]
- CMP AX,0AA55H
- JZ V12L06
- JMP V12NOT
- ;
- V12L06: MOV RPJS,3
- V12L07: MOV AX,0301H
- MOV DL,DLZC
- MOV DH,00H
- MOV CX,0001H
- MOV BX,OFFSET BOOTQ2
- INT 13H
- JNB V12L09
- DEC RPJS
- JZ V12L08
- MOV AH,0
- INT 13H
- JMP V12L07
- V12L08: JMP V12XPC
- ;
- V12L09: JMP V12END0
- ;
- V12END2: MOV FHM,2
- MOV XSAXZC,0
- JMP V12ZE
- V12END0: MOV FHM,0
- MOV XSAXZC,0
- JMP V12ZE
- ;
- V12NOT: MOV DX,OFFSET V12ZFA
- JMP V12ZE1
- V12DPC: MOV DX,OFFSET DPCZF
- JMP V12ZE1
- V12XPC: MOV DX,OFFSET XPCZF
- V12ZE1: MOV XSAXZC,DX
- MOV FHM,1
- V12ZE: MOV AX,XSAXZC
- MOV DX,DS
- RET
- V12 endp
- ;-V13
- V13 proc near
- V13START:
- PUSH DS
- POP ES
- CALL BCSX
- JNB V13KS1
- MOV FHM,1
- JMP V13ZE4
- V13KS1: CALL GBSX
- JNB V13KS2
- MOV FHM,1
- JMP V13ZE4
- V13KS2: CALL WJXOPEN
- JNB V13KS3
- JMP V13OPENC
- V13KS3: CALL BCSJRQ
- JNB V13KS4
- JMP V13ZE2
- V13KS4: CALL WJZZM
- JNB V13KS5
- JMP V13CZC
- MOV WJCD1,DX
- MOV WJCD2,AX
- V13KS5: CALL WJZZS
- ;
- MOV DX,OFFSET BDTZHCQ
- MOV DI,DX
- MOV CX,1DH
- MOV AH,3FH
- MOV BX,WJH
- INT 21H
- JNB V13WJ1
- JMP V13DWJC
- V13WJ1: CMP BYTE PTR [DI],0E9H
- JZ V13WJ2
- JMP V13END2
- V13WJ2: MOV AX,[DI+1]
- ADD AX,3
- MOV WJCD2,AX
- ADD AX,049CH
- ADD AX,14H
- MOV DX,AX
- MOV CX,0
- MOV AX,4200H
- MOV BX,WJH
- INT 21H
- JNB V13WJ3
- JMP V13CZC
- V13WJ3: MOV DX,OFFSET BDTZHCQ
- MOV DI,DX
- MOV CX,6
- MOV AH,3FH
- MOV BX,WJH
- INT 21H
- JNB V13WJ4
- JMP V13DWJC
- V13WJ4: XOR BYTE PTR [DI],81H
- INC DI
- LOOP V13WJ4
- CALL WJZZS
- MOV DX,OFFSET BDTZHCQ
- MOV CX,6
- MOV AH,40H
- MOV BX,WJH
- INT 21H
- JNB V13WJ5
- JMP V13XWJC
- V13WJ5: MOV CX,0
- MOV DX,WJCD2
- MOV AX,4200H
- MOV BX,WJH
- INT 21H
- JNB V13WJ6
- JMP V13CZC
- V13WJ6: MOV DX,0
- MOV CX,0
- MOV AH,40H
- MOV BX,WJH
- INT 21H
- JNB V13WJ7
- JMP V13XWJC
- V13WJ7: JMP V13END0
- ;
- V13END2: MOV FHM,2
- MOV XSAXZC,0
- JMP V13ZE1
- V13END0: MOV FHM,0
- MOV XSAXZC,0
- JMP V13ZE1
- ;
- V13OPENC: MOV FHM,1
- MOV DX,OFFSET OPENCZF
- MOV XSAXZC,DX
- JMP V13ZE3
- ;
- V13CZC: MOV DX,OFFSET CZCZF
- JMP V13XSL
- V13DWJC: MOV DX,OFFSET DWJCZF
- JMP V13XSL
- V13XWJC: MOV DX,OFFSET XWJCZF
- V13XSL: MOV XSAXZC,DX
- V13END1: MOV FHM,1
- V13ZE1: CALL HFSJRQ
- V13ZE2: CALL CLOFIL
- V13ZE3: CALL HFSX
- V13ZE4: MOV AX,XSAXZC
- MOV DX,DS
- RET
- V13 ENDP
- ;-V14
- V14 proc near
- V14START:
- PUSH DS
- POP ES
- CLD
- MOV DI,OFFSET V14TZMA
- MOV SI,OFFSET BOOTQ1
- JMP V14L02
- V14L01: MOV DI,OFFSET V14TZMA
- V14L02: MOV CX,0014H
- REPZ CMPSB
- JZ V14L03
- MOV AX,OFFSET BOOTQ1
- ADD AX,01FFH
- CMP AX,SI
- JNZ V14L01
- JMP V14END2
- ;
- V14L03: MOV DL,DLZC
- CMP DL,02H
- JNB V14YP
- JMP V14RP
- V14YP: MOV DX,0080H
- PUSH DX
- MOV CX,0008H
- MOV BX,OFFSET BOOTQ2
- MOV AX,0201H
- INT 13H
- JB V14LA
- JNB V14L04
- V14LA: JMP V14DPC
- ;
- V14L04: CLD
- MOV SI,OFFSET BOOTQ2
- ADD SI,01FEH
- LODSW
- MOV GZB03,0
- CMP AX,0AA55H
- JZ V14YPB
- MOV GZB03,0FH
- MOV SI,OFFSET FQSQ
- MOV DI,OFFSET BOOTQ2
- MOV CX,01BEH
- REPNZ MOVSB
- V14YPB: MOV DX,0080H
- MOV CX,0001H
- MOV BX,OFFSET BOOTQ2
- MOV AX,0301H
- INT 13H
- JNB V14YPC
- JMP V14XPC
- V14YPC: CMP GZB03,0FH
- JZ V14YPD
- JMP V14END0
- V14YPD: JMP V14END3
- ;
- V14RP: MOV RPJS,3
- V14RPA: MOV DH,00H
- MOV DL,DLZC
- PUSH DX
- MOV CX,0005H
- MOV BX,OFFSET BOOTQ2
- MOV AX,0201H
- INT 13H
- JNB V14RPC
- DEC RPJS
- JZ V14RPB
- MOV AH,0
- INT 13H
- JMP V14RPA
- V14RPB: JMP V14DPC
- V14RPC: MOV AX,[BX+01FEH]
- CMP AX,0AA55H
- JZ V14RPJ
- JMP V14JG1
- V14RPJ: MOV RPJS,3
- V14RPD: MOV DH,00H
- MOV DL,DLZC
- MOV CX,0001H
- MOV BX,OFFSET BOOTQ2
- MOV AX,0301H
- INT 13H
- JNB V14RPF
- DEC RPJS
- JZ V14RPE
- MOV AH,0
- INT 13H
- JMP V14RPD
- V14RPE: JMP V14XPC
- V14RPF: MOV CX,200H
- MOV DI,OFFSET BOOTQ2
- MOV AL,0E5H
- V14RPI: STOSB
- LOOP V14RPI
- MOV RPJS,3
- V14RPG: MOV DH,00H
- MOV DL,DLZC
- MOV CX,0005H
- MOV BX,OFFSET BOOTQ2
- MOV AX,0301H
- INT 13H
- JNB V14END0
- DEC RPJS
- JZ V14RPH
- MOV AH,0
- INT 13H
- JMP V14RPG
- V14RPH: JMP V14XPC
- ;
- V14END2: MOV FHM,2
- MOV XSAXZC,0
- JMP V14ZE
- V14END3: MOV FHM,3
- MOV XSAXZC,0
- JMP V14ZE
- V14END0: MOV FHM,0
- MOV XSAXZC,0
- JMP V14ZE
- ;
- V14JG1: CALL JGBTBDA
- JMP V14ZE2
- V14DPC: MOV DX,OFFSET DPCZF
- JMP V14ZE1
- V14XPC: MOV DX,OFFSET XPCZF
- V14ZE1: MOV XSAXZC,DX
- V14ZE2: MOV FHM,1
- V14ZE: MOV AX,XSAXZC
- MOV DX,DS
- RET
- V14 endp
- ;-V15
- V15 proc near
- V15START:
- PUSH DS
- POP ES
- CLD
- MOV DI,OFFSET V15TZMA
- MOV SI,OFFSET BOOTQ1
- JMP V15L02
- V15L01: MOV DI,OFFSET V15TZMA
- V15L02: MOV CX,001AH
- REPZ CMPSB
- JZ V15L03
- MOV AX,OFFSET BOOTQ1
- ADD AX,01FFH
- CMP AX,SI
- JNZ V15L01
- JMP V15END2
- V15L03: MOV DL,DLZC
- CMP DL,02H
- JNB V15YP
- JMP V15RP
- ;
- V15YP: MOV DX,0080H
- PUSH DX
- MOV CX,0006H
- MOV BX,OFFSET BOOTQ2
- MOV AX,0201H
- INT 13H
- JNB V15YPA
- JMP V15DPC
- V15YPA: MOV AX,[BX+01FEH]
- MOV GZB03,0
- CMP AX,0AA55H
- JZ V15YPB
- MOV GZB03,0FH
- MOV SI,OFFSET FQSQ
- MOV DI,OFFSET BOOTQ2
- MOV CX,01BEH
- REPZ MOVSB
- V15YPB: MOV DX,0080H
- MOV CX,0006H
- MOV BX,OFFSET BOOTQ2
- MOV AX,0301H
- INT 13H
- JB V15YPC
- JMP V15END0
- V15YPC: JMP V15XPC
- ;
- V15RP: MOV RPJS,3
- V15RPA: MOV DH,01H
- MOV DL,DLZC
- PUSH DX
- MOV CX,0003H
- MOV BX,OFFSET BOOTQ2
- MOV AX,0201H
- INT 13H
- JNB V15RPC
- DEC RPJS
- JZ V15RPB
- MOV AH,0
- INT 13H
- JMP V15RPA
- V15RPB: JMP V15DPC
- V15RPC: MOV AX,[BX+01FEH]
- CMP AX,0AA55H
- JZ V15RPD
- JMP V15JG1
- V15RPD: MOV RPJS,3
- V15RPI: MOV DH,00H
- MOV DL,DLZC
- MOV CX,0001H
- MOV BX,OFFSET BOOTQ2
- MOV AX,0301H
- INT 13H
- JNB V15RPF
- DEC RPJS
- JZ V15RPE
- MOV AH,0
- INT 13H
- JMP V15RPI
- V15RPE: JMP V15XPC
- V15RPF: MOV CX,0200H
- MOV DI,OFFSET BOOTQ2
- MOV AL,0E5H
- V15RPG: STOSB
- LOOP V15RPG
- MOV RPJS,3
- V15RPH: MOV DH,01H
- MOV DL,DLZC
- MOV CX,0003H
- MOV BX,OFFSET BOOTQ2
- MOV AX,0301H
- INT 13H
- JNB V15END0
- DEC RPJS
- JZ V15XPC
- MOV AH,0
- INT 13H
- JMP V15RPH
- ;
- V15END3: MOV FHM,3
- MOV XSAXZC,0
- JMP V15ZE
- V15END2: MOV FHM,2
- MOV XSAXZC,0
- JMP V15ZE
- V15END0: MOV FHM,0
- MOV XSAXZC,0
- JMP V15ZE
- ;
- V15JG1: CALL JGBTBDA
- JMP V15ZE2
- V15DPC: MOV DX,OFFSET DPCZF
- JMP V15ZE1
- V15XPC: MOV DX,OFFSET XPCZF
- V15ZE1: MOV XSAXZC,DX
- V15ZE2: MOV FHM,1
- V15ZE: MOV AX,XSAXZC
- MOV DX,DS
- RET
- V15 endp
- ;-V16
- V16 proc near
- V16START:
- PUSH DS
- POP ES
- CALL BCSX
- JNB V16KS1
- MOV FHM,1
- JMP V16ZE4
- V16KS1: CALL GBSX
- JNB V16KS2
- MOV FHM,1
- JMP V16ZE4
- V16KS2: CALL WJXOPEN
- JNB V16KS3
- JMP V16OPENC
- V16KS3: CALL BCSJRQ
- JNB V16KS4
- JMP V16ZE2
- V16KS4: CALL WJZZM
- JNB V16KS5
- JMP V16CZC
- MOV WJCD1,DX
- MOV WJCD2,AX
- V16KS5: CALL WJZZS
- MOV AH,3FH
- MOV CX,001DH
- LEA DX,BDTZHCQ
- INT 21H
- JNB V16WJ1
- JMP V16DWJC
- V16WJ1: CMP WJTYPE,'C'
- JZ V16C1
- JMP V16E1
- ;
- V16C1: LEA DI,BDTZHCQ
- CMP WORD PTR [DI],02EBH
- JNZ V16C2
- CMP WORD PTR [DI+07],021EH
- JNZ V16C2
- CMP WORD PTR [DI+09],5301H
- JZ V16C3
- V16C2: JMP V16END2
- ;
- V16C3: MOV DX,[DI+02]
- MOV CL,04H
- SHL DX,CL
- XOR CX,CX
- MOV WJCD2,DX
- MOV WJCD1,CX
- ADD DX,028AH
- MOV AX,4200H
- INT 21H
- JNB V16C4
- JMP V16CZC
- V16C4: MOV CX,0018H
- LEA DX,BDTZHCQ
- MOV AH,3FH
- MOV BX,WJH
- INT 21H
- JNB V16C5
- JMP V16DWJC
- V16C5: JMP V16WJ2
- ;
- V16E1:
- LEA DI,BDTZHCQ
- MOV DX,[DI+08H]
- ADD DX,[DI+16H]
- MOV CL,04H
- ROL DX,CL
- MOV CX,DX
- AND CX,000FH
- AND DX,0FFF0H
- ADD DX,[DI+14H]
- JNB V16E2
- INC CX
- V16E2: SUB DX,+33H
- JNB V16E3
- DEC CX
- V16E3: PUSH DX
- PUSH CX
- SUB DX,0100H
- JNB V16E4
- DEC CX
- V16E4: MOV WJCD2,DX
- MOV WJCD1,CX
- POP CX
- POP DX
- ADD DX,+2BH
- ADC CX,+00
- MOV AX,4200H
- MOV BX,WJH
- INT 21H
- JNB V16E5
- JMP V16CZC
- V16E5: MOV AH,3FH
- MOV CX,0010H
- LEA DX,BDTZHCQ
- ADD DX,+20H
- MOV BX,WJH
- INT 21H
- JNB V16E6
- JMP V16DWJC
- V16E6: LEA DI,BDTZHCQ
- MOV SI,DI
- ADD DI,+20H
- CMP WORD PTR [DI+08H],6CE8H
- JNZ V16E7
- CMP WORD PTR [DI+0BH],2DE8H
- JNZ V16E7
- CMP WORD PTR [DI+0EH],3FE8H
- JZ V16E8
- V16E7: JMP V16END2
- V16E8: MOV AX,[DI]
- MOV [SI+0EH],AX
- MOV AX,[DI+02]
- MOV [SI+10H],AX
- MOV AX,[DI+04]
- MOV [SI+16H],AX
- MOV AX,[DI+06]
- MOV [SI+14H],AX
- ;
- MOV AX,WJCD2
- MOV DX,WJCD1
- MOV BX,0200H
- DIV BX
- OR DX,DX
- JZ V16E9
- INC AX
- V16E9: MOV [SI+02],DX
- MOV [SI+04],AX
- ;
- V16WJ2: MOV CX,10H
- CMP WJTYPE,'C'
- JZ V16WJ3
- MOV CX,18H
- V16WJ3: MOV DX,OFFSET BDTZHCQ
- MOV AH,40H
- MOV BX,WJH
- INT 21H
- JNB V16WJ4
- JMP V16XWJC
- V16WJ4: MOV CX,WJCD1
- MOV DX,WJCD2
- MOV AX,4200H
- INT 21H
- JNB V16WJ5
- JMP V16CZC
- V16WJ5: MOV DX,0
- MOV CX,0
- MOV AH,40H
- MOV BX,WJH
- INT 21H
- JNB V16WJ6
- JMP V16XWJC
- V16WJ6: JMP V16END0
- ;
- V16END2: MOV FHM,2
- MOV XSAXZC,0
- JMP V16ZE1
- V16END0: MOV FHM,0
- MOV XSAXZC,0
- JMP V16ZE1
- ;
- V16OPENC: MOV FHM,1
- MOV DX,OFFSET OPENCZF
- MOV XSAXZC,DX
- JMP V16ZE3
- ;
- V16CZC: MOV DX,OFFSET CZCZF
- JMP V16XSL
- V16DWJC: MOV DX,OFFSET DWJCZF
- JMP V16XSL
- V16XWJC: MOV DX,OFFSET XWJCZF
- V16XSL: MOV XSAXZC,DX
- V16END1: MOV FHM,1
- V16ZE1: CALL HFSJRQ
- V16ZE2: CALL CLOFIL
- V16ZE3: CALL HFSX
- V16ZE4: MOV AX,XSAXZC
- MOV DX,DS
- RET
- V16 ENDP
- ;-V17
- V17 proc near
- V17START:
- PUSH DS
- POP ES
- CLD
- MOV DI,OFFSET V17TZMA
- MOV SI,OFFSET BOOTQ1
- JMP V17L02
- V17L01: MOV DI,OFFSET V17TZMA
- V17L02: MOV CX,0019H
- REPZ CMPSB
- JZ V17L03
- MOV AX,OFFSET BOOTQ1
- ADD AX,01FFH
- CMP AX,SI
- JNZ V17L01
- JMP V17END2
- V17L03: MOV DL,DLZC
- CMP DL,02H
- JNB V17YP
- JMP V17RP
- ;
- V17YP: MOV DX,0080H
- PUSH DX
- MOV CX,0006H
- MOV BX,OFFSET BOOTQ2