www.pudn.com > Pckv.zip > V72ASM.ASM
PUBLIC V72
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 WJCXZC:WORD,BDDIZC:WORD,XSAXZC:WORD
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
;
; V72--Water-(f)
; CREATED: 96-6-24
SEG_B SEGMENT PARA PUBLIC 'data'
V72TZMA DB 0B7H,053H,090H,0BAH,012H,006H,0CCH,020H
DB 02DH,0A2H,095H,000H,01DH,054H,056H,055H
V72JMTZ DW 0
SEG_B ENDS
;
SEG_C SEGMENT PARA PUBLIC 'code'
ASSUME CS:SEG_C , DS:SEG_B
V72 PROC NEAR
V72START:
PUSH DS
POP ES
CLD
CMP V72JMTZ,0FH
JZ V72JMB
MOV SI,OFFSET V72TZMA
MOV CX,0010H
V72JMA: LODSB
INC AL
MOV [SI-1],AL
LOOP V72JMA
MOV V72JMTZ,0FH
V72JMB: CALL BCSX
JNB V72KS1
MOV FHM,1
JMP V72ZE4
V72KS1: CALL GBSX
JNB V72KS2
MOV FHM,1
JMP V72ZE4
V72KS2: CALL WJXOPEN
JNB V72KS3
JMP V72OPENC
V72KS3: CALL BCSJRQ
JNB V72KS4
JMP V72ZE2
V72KS4: MOV DX,OFFSET WJTQ
MOV CX,20H
MOV AH,3FH
MOV BX,WJH
INT 21H
JNB V72KS5
JMP V72DWJC
V72KS5: CALL WJZZM
JNB V72TZ0
JMP V72CZC
;
V72TZ0: MOV CX,WJCXZC
MOV DI,BDDIZC
CMP DX,0
JNZ V72TZ2
CMP CX,4000H
JNB V72TZ2
SUB DI,052DH
JNB V72TZ1
JMP V72END2
V72TZ1: MOV WJCD1,0
MOV WJCD2,DI
MOV DX,0
MOV AX,DI
JMP V72TZ3
V72TZ2: SUB AX,4000H
SBB DX,0
ADD AX,DI
ADC DX,0
SUB AX,052DH
SBB DX,0
MOV WJCD1,DX
MOV WJCD2,AX
V72TZ3: MOV BX,WJH
MOV CX,WJCD1
MOV DX,WJCD2
ADD DX,00C7H
ADC CX,0
MOV AX,4200H
INT 21H
JNB V72TZ4
JMP V72CZC
V72TZ4: LEA DX,BDTZHCQ
MOV BX,WJH
MOV CX,10H
MOV AH,3FH
INT 21H
JNB V72TZ5
JMP V72DWJC
V72TZ5: MOV DI,OFFSET BDTZHCQ
MOV SI,OFFSET V72TZMA
MOV CX,10H
REPE CMPSB
JZ V72TZ6
JMP V72END2
V72TZ6: MOV BX,WJH
MOV CX,WJCD1
MOV DX,WJCD2
ADD DX,0040H
ADC CX,0
MOV AX,4200H
INT 21H
JNB V72TZ7
JMP V72CZC
V72TZ7: MOV DX,OFFSET BDTZHCQ
MOV BX,WJH
MOV CX,0040H
MOV AH,3FH
INT 21H
JNB V72TZ8
JMP V72DWJC
;
V72TZ8: CMP WJTYPE,'C'
JZ V72WC1
JMP V72WE1
;
V72WC1: CALL WJZZS
MOV DX,OFFSET BDTZHCQ
ADD DX,6H
MOV CX,6
MOV AH,40H
INT 21H
JNB V72WC2
JMP V72XWJC
V72WC2: JMP V72WJ1
;
V72WE1: CALL WJZZS
MOV DX,OFFSET BDTZHCQ
ADD DX,22H
MOV BX,WJH
MOV CX,18H
MOV AH,40H
INT 21H
JNB V72WJ1
JMP V72DWJC
;
V72WJ1: MOV SI,OFFSET BDTZHCQ
MOV CX,[SI+4]
MOV DX,[SI+2]
MOV AX,4200H
MOV BX,WJH
INT 21H
JNB V72WJ6
JMP V72CZC
V72WJ6: MOV AH,40H
MOV BX,WJH
MOV DX,0
MOV CX,0
INT 21H
JNB V72WJ8
JMP V72XWJC
V72WJ8: JMP V72END0
;
V72END2: MOV FHM,2
MOV XSAXZC,0
JMP V72ZE1
V72END0: MOV FHM,0
MOV XSAXZC,0
JMP V72ZE1
;
V72OPENC: MOV FHM,1
MOV DX,OFFSET OPENCZF
MOV XSAXZC,DX
JMP V72ZE3
;
V72CZC: MOV DX,OFFSET CZCZF
JMP V72XSL
V72DWJC: MOV DX,OFFSET DWJCZF
JMP V72XSL
V72XWJC: MOV DX,OFFSET XWJCZF
V72XSL: MOV XSAXZC,DX
V72END1: MOV FHM,1
V72ZE1: CALL HFSJRQ
V72ZE2: CALL CLOFIL
V72ZE3: CALL HFSX
V72ZE4: MOV AX,XSAXZC
MOV DX,DS
RET
V72 ENDP
;
SEG_C ENDS
END V72START