www.pudn.com > Pckv.zip > V62ASM.ASM
PUBLIC V62
EXTRN WJDOPEN:NEAR,WJXOPEN:NEAR,WJZZS:NEAR,WJZZM:NEAR,CLOFIL:NEAR
EXTRN BCSX:NEAR,GBSX:NEAR,HFSX:NEAR,BCSJRQ:NEAR,HFSJRQ:NEAR
EXTRN PMHHHC:NEAR,XS09SC:NEAR
EXTRN GZW01:WORD,GZW02:WORD,GZW03:WORD
EXTRN JSW01:WORD,JSW02:WORD,JSW03:WORD
EXTRN WJSEGGZA:WORD,WJSEGGZB:WORD,ESGZA:WORD,ESGZB:WORD
EXTRN ENDJS:WORD,WJH:WORD,WJCD1:WORD,WJCD2:WORD,FHM:BYTE
EXTRN WJSXZC1:WORD,WJSXZC2:WORD,WJSXZC3:WORD,ESZC1:WORD
EXTRN GZB01:BYTE,GZB02:BYTE,GZB03:BYTE
EXTRN JSB01:BYTE,JSB02:BYTE,JSB03:BYTE
EXTRN OPENCZF:BYTE,DWJCZF:BYTE,XWJCZF:BYTE,CZCZF:BYTE,WJTYPE:BYTE
EXTRN BDTZHCQ:BYTE,WJGZQ:BYTE,WJTQ:BYTE,XSAXZC:WORD
;
; V62--TAI_PAN
; CREATED: 96-5-28
SEG_B SEGMENT PARA PUBLIC 'data'
V62TZMA DB 0C7H,006H,0C4H,001H,000H,000H
DB 0C7H,006H,0C6H,001H,0FFH,0FFH
DB 0C7H,006H,0CCH,001H,000H,000H
SEG_B ENDS
;
SEG_C SEGMENT PARA PUBLIC 'code'
ASSUME CS:SEG_C , DS:SEG_B
V62 PROC NEAR
V62START:
PUSH DS
POP ES
CALL BCSX
JNB V62KS1
MOV FHM,1
JMP V62ZE4
V62KS1: CALL GBSX
JNB V62KS2
MOV FHM,1
JMP V62ZE4
V62KS2: CALL WJXOPEN
JNB V62KS3
JMP V62OPENC
V62KS3: CALL BCSJRQ
JNB V62KS4
JMP V62ZE2
V62KS4: CALL WJZZM
JNB V62KS5
JMP V62CZC
MOV WJCD1,DX
MOV WJCD2,AX
V62KS5: CALL WJZZS
;
MOV DX,OFFSET WJTQ
MOV CX,20H
MOV AH,3FH
MOV BX,WJH
INT 21H
JNB V62WJ1
JMP V62DWJC
V62WJ1:
CMP WJTYPE,'E'
JZ V62TC1
JMP V62END2
V62TC1: CMP WJCD1,0
JZ V62TC4
JMP V62END2
V62TC4: MOV ENDJS,0
MOV AX,4202H
MOV BX,WJH
MOV CX,0FFFFH
MOV DX,-006DH
INT 21H
JNB V62TC2
JMP V62CZC
V62TC2: MOV DX,OFFSET BDTZHCQ
MOV BX,WJH
MOV CX,32H
MOV AH,3FH
INT 21H
JNB V62TC3
JMP V62DWJC
V62TC3: MOV DI,OFFSET BDTZHCQ
ADD DI,20H
SUB DI,ENDJS
MOV SI,OFFSET V62TZMA
MOV CX,12H
REPE CMPSB
CMP CX,0
JZ V62E1
ADD ENDJS,1
CMP ENDJS,20
JB V62TC3
JMP V62END2
V62E1: MOV AX,4202H
MOV BX,WJH
MOV CX,0FFFFH
MOV DX,-0AH
SUB DX,ENDJS
INT 21H
JNB V62E2
JMP V62CZC
V62E2: MOV DX,OFFSET WJTQ
ADD DX,0EH
MOV CX,0AH
MOV BX,WJH
MOV AH,3FH
INT 21H
JNB V62E3
JMP V62DWJC
V62E3: MOV DX,WJCD1
MOV AX,WJCD2
SUB AX,01B6H
SUB AX,ENDJS
MOV CX,0200H
DIV CX
OR DX,DX
JZ V62E4
INC AX
V62E4: MOV SI,OFFSET WJTQ
MOV [SI+02],DX
MOV [SI+04],AX
;
CALL WJZZS
MOV AX,WJH
MOV BX,AX
MOV AH,40H
MOV CX,0018H
MOV DX,OFFSET WJTQ
INT 21H
JNB V62E5
JMP V62XWJC
V62E5:
MOV AX,4202H
MOV CX,0FFFFH
MOV DX,-01B6H
SUB DX,ENDJS
MOV BX,WJH
INT 21H
JNB V62E6
JMP V62CZC
V62E6: MOV AH,40H
MOV BX,WJH
MOV DX,0
MOV CX,0
INT 21H
JNB V62E7
JMP V62XWJC
V62E7: JMP V62END0
;
V62END2: MOV FHM,2
MOV XSAXZC,0
JMP V62ZE1
V62END0: MOV FHM,0
JMP V62ZE1
;
V62OPENC: MOV FHM,1
MOV DX,OFFSET OPENCZF
MOV XSAXZC,DX
JMP V62ZE3
;
V62CZC: MOV DX,OFFSET CZCZF
JMP V62XSL
V62DWJC: MOV DX,OFFSET DWJCZF
JMP V62XSL
V62XWJC: MOV DX,OFFSET XWJCZF
V62XSL: MOV XSAXZC,DX
V62END1: MOV FHM,1
V62ZE1: CALL HFSJRQ
V62ZE2: CALL CLOFIL
V62ZE3: CALL HFSX
V62ZE4: MOV AX,XSAXZC
MOV DX,DS
RET
V62 ENDP
;
SEG_C ENDS
END V62START