www.pudn.com > Pckv.zip > V53ASM.ASM
PUBLIC V53
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
EXTRN XSAXZC:WORD
;
; V53--1741
; CREATED: 95-10-22
SEG_B SEGMENT PARA PUBLIC 'data'
V53TZMA DB 032H,0C8H,032H,0D1H,0B3H,041H,0EAH,013H
DB 0B3H,03EH,0EAH,00FH,0B3H,03FH,0E7H,00AH
DB 0FFH,071H,000H,0C2H
V53JMTZ DW 0
SEG_B ENDS
;
SEG_C SEGMENT PARA PUBLIC 'code'
ASSUME CS:SEG_C , DS:SEG_B
V53 PROC NEAR
V53START:
PUSH DS
POP ES
CLD
CMP V53JMTZ,0FH
JZ V53JMB
MOV SI,OFFSET V53TZMA
MOV CX,0014H
V53JMA: LODSB
INC AL
MOV [SI-1],AL
LOOP V53JMA
MOV V53JMTZ,0FH
V53JMB: CALL BCSX
JNB V53KS1
MOV FHM,1
JMP V53ZE4
V53KS1: CALL GBSX
JNB V53KS2
MOV FHM,1
JMP V53ZE4
V53KS2: CALL WJXOPEN
JNB V53KS3
JMP V53OPENC
V53KS3: CALL BCSJRQ
JNB V53KS4
JMP V53ZE2
V53KS4: CALL WJZZM
JNB V53KS5
JMP V53CZC
MOV WJCD1,DX
MOV WJCD2,AX
V53KS5: CALL WJZZS
;
MOV DX,OFFSET WJTQ
MOV CX,20H
MOV AH,3FH
MOV BX,WJH
INT 21H
JNB V53WJ1
JMP V53DWJC
V53WJ1: MOV DX,0
MOV SI,OFFSET WJTQ
MOV AL,[SI]
CMP AL,0E9H
JNZ V53TZ2
MOV AX,[SI+1]
ADD AX,3
SUB AX,0019H
JMP V53TZ4
V53TZ2: CMP AL,4DH
JNZ V53TZ3
MOV AX,[SI+16H]
MOV CL,4
ROL AX,CL
MOV DX,AX
AND DX,000FH
AND AX,0FFF0H
MOV BX,[SI+14H]
ADD AX,BX
ADC DX,0
MOV BX,[SI+8]
SHL BX,CL
ADD AX,BX
ADC DX,0
SUB AX,0019H
SBB DX,0
JMP V53TZ4
V53TZ3: JMP V53END2
V53TZ4: MOV WJCD1,DX
MOV WJCD2,AX
ADD AX,028EH
ADC DX,0
MOV BX,WJH
MOV CX,DX
MOV DX,AX
MOV AX,4200H
INT 21H
JNB V53TZ5
JMP V53CZC
V53TZ5: LEA DX,BDTZHCQ
MOV BX,WJH
MOV CX,14H
MOV AH,3FH
INT 21H
JNB V53TZ6
JMP V53DWJC
V53TZ6: MOV DI,OFFSET BDTZHCQ
MOV SI,OFFSET V53TZMA
MOV CX,14H
REPE CMPSB
JZ V53WJ2
JMP V53END2
;
V53WJ2: CMP WJTYPE,'C'
JZ V53WC1
JMP V53WE1
V53WC1: MOV CX,WJCD1
MOV DX,WJCD2
MOV BX,WJH
MOV AX,4200H
INT 21H
JNB V53WC2
JMP V53CZC
V53WC2: MOV DX,OFFSET BDTZHCQ
MOV BX,WJH
MOV CX,18H
MOV AH,3FH
INT 21H
JNB V53WC3
JMP V53DWJC
V53WC3: CALL WJZZS
MOV DX,OFFSET BDTZHCQ
MOV CX,0003H
MOV AH,40H
INT 21H
JNB V53WC4
JMP V53XWJC
V53WC4: MOV CX,WJCD1
MOV DX,WJCD2
ADD DX,06C9H
ADC CX,0
MOV BX,WJH
MOV AX,4200H
INT 21H
JNB V53WC5
JMP V53CZC
V53WC5: MOV DX,OFFSET BDTZHCQ
MOV BX,WJH
MOV CX,4
MOV AH,3FH
INT 21H
JNB V53WC6
JMP V53DWJC
V53WC6: MOV SI,OFFSET BDTZHCQ
MOV AX,[SI]
MOV DX,[SI+2]
MOV WJCD1,DX
MOV WJCD2,AX
JMP V53WJ6
;
V53WE1: MOV CX,WJCD1
MOV DX,WJCD2
ADD DX,0199H
ADC CX,0
MOV BX,WJH
MOV AX,4200H
INT 21H
JNB V53WE2
JMP V53CZC
V53WE2: MOV DX,OFFSET BDTZHCQ
MOV BX,WJH
MOV CX,18H
MOV AH,3FH
INT 21H
JNB V53WE3
JMP V53DWJC
V53WE3: MOV SI,OFFSET BDTZHCQ
MOV DI,OFFSET WJTQ
MOV AX,[SI+4]
MOV [DI+16H],AX
MOV AX,[SI]
MOV [DI+14H],AX
;
MOV CX,WJCD1
MOV DX,WJCD2
ADD DX,06C9H
ADC CX,0
MOV BX,WJH
MOV AX,4200H
INT 21H
JNB V53WE4
JMP V53CZC
V53WE4: MOV DX,OFFSET BDTZHCQ
MOV BX,WJH
MOV CX,4
MOV AH,3FH
INT 21H
JNB V53WE5
JMP V53DWJC
V53WE5: MOV SI,OFFSET BDTZHCQ
MOV AX,[SI]
MOV DX,[SI+2]
MOV WJCD1,DX
MOV WJCD2,AX
MOV CX,0200H
DIV CX
OR DX,DX
JZ V53WE6
INC AX
V53WE6: 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 V53WJ6
JMP V53XWJC
V53WJ6:
MOV AX,4200H
MOV CX,WJCD1
MOV DX,WJCD2
MOV BX,WJH
INT 21H
JNB V53WJ7
JMP V53CZC
V53WJ7: MOV AH,40H
MOV BX,WJH
MOV DX,0
MOV CX,0
INT 21H
JNB V53WJ8
JMP V53XWJC
V53WJ8: JMP V53END0
;
V53END2: MOV FHM,2
MOV XSAXZC,0
JMP V53ZE1
V53END0: MOV FHM,0
MOV XSAXZC,0
JMP V53ZE1
;
V53OPENC: MOV FHM,1
MOV DX,OFFSET OPENCZF
MOV XSAXZC,DX
JMP V53ZE3
;
V53CZC: MOV DX,OFFSET CZCZF
JMP V53XSL
V53DWJC: MOV DX,OFFSET DWJCZF
JMP V53XSL
V53XWJC: MOV DX,OFFSET XWJCZF
V53XSL: MOV XSAXZC,DX
V53END1: MOV FHM,1
V53ZE1: CALL HFSJRQ
V53ZE2: CALL CLOFIL
V53ZE3: CALL HFSX
V53ZE4: MOV AX,XSAXZC
MOV DX,DS
RET
V53 ENDP
;
SEG_C ENDS
END V53START