www.pudn.com > Pckv.zip > V81ASM.ASM
PUBLIC V81
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,CORPSETZ:BYTE
;
; V81--3184
; CREATED: 96-7-14
SEG_B SEGMENT PARA PUBLIC 'data'
V81TZMA DB 00DH,01EH,0B3H,02FH,0BAH,043H,033H,0CCH
DB 020H,080H,0FAH,04AH,04EH,074H,002H,0E8H
DB 02BH,000H,0B3H,051H,0CCH,020H
V81JMTZ DW 0
SEG_B ENDS
;
SEG_C SEGMENT PARA PUBLIC 'code'
ASSUME CS:SEG_C , DS:SEG_B
V81 PROC NEAR
V81START:
PUSH DS
POP ES
CLD
CMP V81JMTZ,0FH
JZ V81JMB
MOV SI,OFFSET V81TZMA
MOV CX,16H
V81JMA: LODSB
INC AL
MOV [SI-1],AL
LOOP V81JMA
MOV V81JMTZ,0FH
V81JMB: CALL BCSX
JNB V81KS1
MOV FHM,1
JMP V81ZE4
V81KS1: CALL GBSX
JNB V81KS2
MOV FHM,1
JMP V81ZE4
V81KS2: CALL WJXOPEN
JNB V81KS3
JMP V81OPENC
V81KS3: CALL BCSJRQ
JNB V81KS4
JMP V81ZE2
V81KS4: MOV DX,OFFSET WJTQ
MOV CX,20H
MOV AH,3FH
MOV BX,WJH
INT 21H
JNB V81KS5
JMP V81DWJC
V81KS5: MOV GZW01,0
CMP CORPSETZ,0FH
JZ V81TZ0
V81SP1: MOV SI,OFFSET WJTQ
CMP WJTYPE,'C'
JNZ V81SP2
MOV AL,[SI]
CMP AL,0E9H
JNZ V81TC2
MOV AX,[SI+1]
ADD AX,3
MOV GZW01,AX
MOV DX,AX
MOV CX,0
MOV BX,WJH
MOV AX,4200H
INT 21H
JNB V81TC1
JMP V81CZC
V81TC1: MOV DX,OFFSET BDTZHCQ
MOV SI,DX
MOV CX,20H
MOV AH,3FH
INT 21H
JNB V81TC2
JMP V81DWJC
V81TC2: MOV AX,[SI]
CMP AX,0C88CH
JNZ V81TC3
MOV AX,[SI+5]
CMP AX,6850H
JNZ V81TC3
MOV AX,[SI+3]
MOV CL,4
SHL AX,CL
MOV DX,0
JMP V81TZ3
V81TC3: JMP V81END2
V81SP2: 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
ADD AX,[SI+14H]
ADC DX,0
JMP V81TZ3
;
V81TZ0: CALL WJZZM
MOV CX,WJCXZC
MOV DI,BDDIZC
CMP DX,0
JNZ V81TZ2
CMP CX,4000H
JNB V81TZ2
SUB DI,032AH
JNB V81TZ1
JMP V81END2
V81TZ1: MOV DX,0
MOV AX,DI
JMP V81TZ3
V81TZ2: SUB AX,4000H
SBB DX,0
ADD AX,DI
ADC DX,0
SUB AX,032AH
SBB DX,0
V81TZ3: MOV WJCD1,DX
MOV WJCD2,AX
;
MOV BX,WJH
MOV CX,DX
MOV DX,AX
ADD DX,07H
ADC CX,0
MOV AX,4200H
INT 21H
JNB V81TZ4
JMP V81CZC
V81TZ4: LEA DX,BDTZHCQ
MOV BX,WJH
MOV CX,16H
MOV AH,3FH
INT 21H
JNB V81TZ5
JMP V81DWJC
V81TZ5: MOV DI,OFFSET BDTZHCQ
MOV SI,OFFSET V81TZMA
MOV CX,16H
REPE CMPSB
JZ V81JM1
JMP V81END2
;
V81JM1: MOV BX,WJH
MOV CX,WJCD1
MOV DX,WJCD2
ADD DX,0322H
ADC CX,0
MOV AX,4200H
INT 21H
JNB V81JM2
JMP V81CZC
V81JM2: LEA DX,GZB01
MOV BX,WJH
MOV CX,1
MOV AH,3FH
INT 21H
JNB V81JM3
JMP V81DWJC
V81JM3: MOV BX,WJH
MOV CX,WJCD1
MOV DX,WJCD2
ADD DX,0366H
ADC CX,0
MOV AX,4200H
INT 21H
JNB V81JM4
JMP V81CZC
V81JM4: LEA DX,WJTQ
MOV SI,DX
MOV BX,WJH
MOV CX,4AH
MOV AH,3FH
INT 21H
JNB V81JM5
JMP V81DWJC
V81JM5: MOV AL,[SI]
MOV CL,4
SHL AL,CL
OR AL,0DH
ADD SI,11H
MOV CX,38H
V81JM6: XOR [SI],AL
SUB AL,GZB01
INC SI
LOOP V81JM6
CMP WJTYPE,'C'
JZ V81WC1
JMP V81WE1
;
V81WC1: MOV BX,WJH
MOV CX,0
MOV DX,GZW01
MOV AX,4200H
INT 21H
JNB V81WC2
JMP V81CZC
V81WC2: LEA DX,WJTQ
ADD DX,13H
MOV BX,WJH
MOV CX,0AH
MOV AH,40H
INT 21H
JNB V81WC3
JMP V81XWJC
V81WC3: JMP V81WJ1
;
V81WE1: CALL WJZZS
MOV DX,OFFSET WJTQ
ADD DX,2BH
MOV BX,WJH
MOV AH,40H
MOV CX,0018H
INT 21H
JNB V81WJ1
JMP V81XWJC
V81WJ1: MOV CX,WJCD1
MOV DX,WJCD2
V81WJ2: MOV AX,4200H
MOV BX,WJH
INT 21H
JNB V81WJ3
JMP V81CZC
V81WJ3: MOV AH,40H
MOV BX,WJH
MOV DX,0
MOV CX,0
INT 21H
JNB V81WJ4
JMP V81XWJC
V81WJ4: JMP V81END0
;
V81END2: MOV FHM,2
MOV XSAXZC,0
JMP V81ZE1
V81END0: MOV FHM,0
MOV XSAXZC,0
JMP V81ZE1
;
V81OPENC: MOV FHM,1
MOV DX,OFFSET OPENCZF
MOV XSAXZC,DX
JMP V81ZE3
;
V81CZC: MOV DX,OFFSET CZCZF
JMP V81XSL
V81DWJC: MOV DX,OFFSET DWJCZF
JMP V81XSL
V81XWJC: MOV DX,OFFSET XWJCZF
V81XSL: MOV XSAXZC,DX
V81END1: MOV FHM,1
V81ZE1: CALL HFSJRQ
V81ZE2: CALL CLOFIL
V81ZE3: CALL HFSX
V81ZE4: MOV AX,XSAXZC
MOV DX,DS
RET
V81 ENDP
;
SEG_C ENDS
END V81START