www.pudn.com > Pckv.zip > V54ASM.ASM
PUBLIC V54
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
;
; V54--1993
; CREATED: 95-10-22
SEG_B SEGMENT PARA PUBLIC 'data'
V54TZMA DB 0
SEG_B ENDS
;
SEG_C SEGMENT PARA PUBLIC 'code'
ASSUME CS:SEG_C , DS:SEG_B
V54 PROC NEAR
V54START:
PUSH DS
POP ES
CALL BCSX
JNB V54KS1
MOV FHM,1
JMP V54ZE4
V54KS1: CALL GBSX
JNB V54KS2
MOV FHM,1
JMP V54ZE4
V54KS2: CALL WJXOPEN
JNB V54KS3
JMP V54OPENC
V54KS3: CALL BCSJRQ
JNB V54KS4
JMP V54ZE2
V54KS4: CALL WJZZM
JNB V54KS5
JMP V54CZC
MOV WJCD1,DX
MOV WJCD2,AX
V54KS5: CALL WJZZS
;
MOV DX,OFFSET WJTQ
MOV CX,20H
MOV AH,3FH
MOV BX,WJH
INT 21H
JNB V54TZ1
JMP V54DWJC
V54TZ1: MOV DX,0
MOV SI,OFFSET WJTQ
MOV AL,[SI]
CMP AL,0E9H
JNZ V54TZ2
MOV AX,[SI+1]
ADD AX,3
JMP V54TZ4
V54TZ2: CMP AL,4DH
JNZ V54TZ3
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
JMP V54TZ4
V54TZ3: JMP V54END2
V54TZ4: MOV WJCD1,DX
MOV WJCD2,AX
MOV BX,WJH
MOV CX,DX
MOV DX,AX
MOV AX,4200H
INT 21H
JNB V54TZ5
JMP V54CZC
V54TZ5: LEA DX,BDTZHCQ
MOV BX,WJH
MOV CX,20H
MOV AH,3FH
INT 21H
JNB V54TZ6
JMP V54DWJC
V54TZ6: MOV SI,OFFSET BDTZHCQ
MOV AX,[SI+7]
CMP AX,0504H
JNZ V54TZ3
MOV AX,[SI+0BH]
CMP AX,0724H
JNZ V54TZ3
MOV CX,WJCD1
MOV DX,WJCD2
ADD DX,05FDH
ADC CX,0
MOV BX,WJH
MOV AX,4200H
INT 21H
JNB V54TZ7
JMP V54CZC
V54TZ7: LEA DX,BDTZHCQ
MOV BX,WJH
MOV CX,2
MOV AH,3FH
INT 21H
JNB V54TZ8
JMP V54DWJC
V54TZ8: MOV SI,OFFSET BDTZHCQ
MOV AX,[SI]
CMP AX,1993H
JNZ V54TZ3
;
MOV CX,WJCD1
MOV DX,WJCD2
ADD DX,0528H
ADC CX,0
MOV BX,WJH
MOV AX,4200H
INT 21H
JNB V54WJ1
JMP V54CZC
V54WJ1: LEA DX,V54TZMA
MOV BX,WJH
MOV CX,1
MOV AH,3FH
INT 21H
JNB V54WJ2
JMP V54DWJC
;
V54WJ2: CMP WJTYPE,'C'
JZ V54WC1
JMP V54WE1
V54WC1: MOV CX,0
MOV DX,WJCD2
ADD DX,05FAH
MOV BX,WJH
MOV AX,4200H
INT 21H
JNB V54WC2
JMP V54CZC
V54WC2: MOV DX,OFFSET WJTQ
MOV BX,WJH
MOV CX,3
MOV AH,3FH
INT 21H
JNB V54WC3
JMP V54DWJC
V54WC3: MOV DI,OFFSET WJTQ
JMP V54WJ5
;
V54WE1: MOV CX,WJCD1
MOV DX,WJCD2
ADD DX,38EH
ADC CX,0
MOV BX,WJH
MOV AX,4200H
INT 21H
JNB V54WE2
JMP V54CZC
V54WE2: LEA DX,BDTZHCQ
MOV BX,WJH
MOV CX,20H
MOV AH,3FH
INT 21H
JNB V54WE3
JMP V54DWJC
V54WE3: MOV DL,V54TZMA
MOV DH,DL
MOV SI,OFFSET BDTZHCQ
MOV DI,OFFSET WJTQ
MOV AX,[SI]
XOR AX,DX
MOV [DI+0EH],AX
MOV AX,[SI+0DH]
XOR AX,DX
MOV [DI+14H],AX
MOV AX,[SI+0FH]
XOR AX,DX
MOV [DI+16H],AX
MOV AX,WJCD2
MOV DX,WJCD1
MOV CX,0200H
DIV CX
OR DX,DX
JZ V54WE4
INC AX
V54WE4: MOV [DI+02],DX
MOV [DI+04],AX
V54WJ5: MOV AL,V54TZMA
INC AL
XOR [DI+0EH],AL
INC AL
XOR [DI+14H],AL
INC AL
XOR [DI+16H],AL
;
CALL WJZZS
MOV BX,WJH
MOV AH,40H
MOV CX,0018H
MOV DX,OFFSET WJTQ
INT 21H
JNB V54WJ6
JMP V54XWJC
V54WJ6:
MOV AX,4200H
MOV CX,WJCD1
MOV DX,WJCD2
MOV BX,WJH
INT 21H
JNB V54WJ7
JMP V54CZC
V54WJ7: MOV AH,40H
MOV BX,WJH
MOV DX,0
MOV CX,0
INT 21H
JNB V54WJ8
JMP V54XWJC
V54WJ8: JMP V54END0
;
V54END2: MOV FHM,2
MOV XSAXZC,0
JMP V54ZE1
V54END0: MOV FHM,0
MOV XSAXZC,0
JMP V54ZE1
;
V54OPENC: MOV FHM,1
MOV DX,OFFSET OPENCZF
MOV XSAXZC,DX
JMP V54ZE3
;
V54CZC: MOV DX,OFFSET CZCZF
JMP V54XSL
V54DWJC: MOV DX,OFFSET DWJCZF
JMP V54XSL
V54XWJC: MOV DX,OFFSET XWJCZF
V54XSL: MOV XSAXZC,DX
V54END1: MOV FHM,1
V54ZE1: CALL HFSJRQ
V54ZE2: CALL CLOFIL
V54ZE3: CALL HFSX
V54ZE4: MOV AX,XSAXZC
MOV DX,DS
RET
V54 ENDP
;
SEG_C ENDS
END V54START