www.pudn.com > Pckv.zip > V59ASM.ASM
PUBLIC V59
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
;
; V59--1395
; CREATED: 96-2-24
SEG_B SEGMENT PARA PUBLIC 'data'
V59TZMA DB 02DH,082H,02DH,0A4H,0FFH,009H,071H,013H
DB 02DH,080H,03DH,084H,001H,09FH,0FFH,071H
DB 028H
V59JMTZ DW 0
SEG_B ENDS
;
SEG_C SEGMENT PARA PUBLIC 'code'
ASSUME CS:SEG_C , DS:SEG_B
V59 PROC NEAR
V59START:
PUSH DS
POP ES
CLD
CMP V59JMTZ,0FH
JZ V59JMB
MOV SI,OFFSET V59TZMA
MOV CX,0011H
V59JMA: LODSB
INC AL
MOV [SI-1],AL
LOOP V59JMA
MOV V59JMTZ,0FH
V59JMB: CALL BCSX
JNB V59KS1
MOV FHM,1
JMP V59ZE4
V59KS1: CALL GBSX
JNB V59KS2
MOV FHM,1
JMP V59ZE4
V59KS2: CALL WJXOPEN
JNB V59KS3
JMP V59OPENC
V59KS3: CALL BCSJRQ
JNB V59KS4
JMP V59ZE2
V59KS4: MOV DX,OFFSET WJTQ
MOV CX,20H
MOV AH,3FH
MOV BX,WJH
INT 21H
JNB V59KS5
JMP V59DWJC
V59KS5: CALL WJZZM
JNB V59TZ0
JMP V59CZC
;
V59TZ0: MOV CX,WJCXZC
MOV DI,BDDIZC
CMP DX,0
JNZ V59TZ2
CMP CX,4000H
JNB V59TZ2
SUB DI,0AH
JNB V59TZ1
JMP V59END2
V59TZ1: MOV WJCD1,0
MOV WJCD2,DI
MOV DX,0
MOV AX,DI
JMP V59TZ3
V59TZ2: SUB AX,4000H
SBB DX,0
ADD AX,DI
ADC DX,0
SUB AX,0AH
SBB DX,0
MOV WJCD1,DX
MOV WJCD2,AX
V59TZ3: MOV BX,WJH
MOV CX,DX
MOV DX,AX
ADD DX,04FEH
ADC CX,0
MOV AX,4200H
INT 21H
JNB V59TZ4
JMP V59CZC
V59TZ4: LEA DX,BDTZHCQ
MOV BX,WJH
MOV CX,11H
MOV AH,3FH
INT 21H
JNB V59TZ5
JMP V59DWJC
V59TZ5: MOV DI,OFFSET BDTZHCQ
MOV SI,OFFSET V59TZMA
MOV CX,11H
REPE CMPSB
JZ V59TZ6
JMP V59END2
V59TZ6: CMP WJTYPE,'C'
JZ V59WC1
JMP V59WE1
;
V59WC1: MOV CX,WJCD1
MOV DX,WJCD2
ADD DX,01DFH
ADC CX,0
MOV BX,WJH
MOV AX,4200H
INT 21H
JNB V59WC2
JMP V59CZC
V59WC2: MOV DX,OFFSET BDTZHCQ
MOV CX,5
MOV AH,3FH
INT 21H
JNB V59WC3
JMP V59DWJC
V59WC3: CALL WJZZS
MOV DX,OFFSET BDTZHCQ
MOV CX,5
MOV AH,40H
INT 21H
JNB V59WC4
JMP V59XWJC
V59WC4: JMP V59WE9
;
V59WE1: MOV CX,WJCD1
MOV DX,WJCD2
ADD DX,02E1H
ADC CX,0
MOV BX,WJH
MOV AX,4200H
INT 21H
JNB V59WE2
JMP V59CZC
V59WE2: MOV DX,OFFSET BDTZHCQ
MOV BX,WJH
MOV CX,2
MOV AH,3FH
INT 21H
JNB V59WE3
JMP V59DWJC
V59WE3: MOV SI,OFFSET BDTZHCQ
MOV DI,OFFSET WJTQ
MOV AX,[SI]
MOV [DI+10H],AX
;
MOV CX,WJCD1
MOV DX,WJCD2
ADD DX,0434H
ADC CX,0
MOV BX,WJH
MOV AX,4200H
INT 21H
JNB V59WE4
JMP V59CZC
V59WE4: MOV DX,OFFSET BDTZHCQ
MOV BX,WJH
MOV CX,2
MOV AH,3FH
INT 21H
JNB V59WE5
JMP V59DWJC
V59WE5: MOV AX,[SI]
MOV [DI+16H],AX
;
MOV CX,WJCD1
MOV DX,WJCD2
ADD DX,04E6H
ADC CX,0
MOV BX,WJH
MOV AX,4200H
INT 21H
JNB V59WE6
JMP V59CZC
V59WE6: MOV DX,OFFSET BDTZHCQ
MOV BX,WJH
MOV CX,16H
MOV AH,3FH
INT 21H
JNB V59WE7
JMP V59DWJC
V59WE7: MOV AX,[SI]
MOV [DI+0EH],AX
MOV AX,[SI+13H]
MOV [DI+14H],AX
;
MOV DX,WJCD1
MOV AX,WJCD2
MOV CX,0200H
DIV CX
OR DX,DX
JZ V59WE8
INC AX
V59WE8: 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 V59WE9
JMP V59XWJC
V59WE9: MOV AX,4200H
MOV CX,WJCD1
MOV DX,WJCD2
MOV BX,WJH
INT 21H
JNB V59WJ6
JMP V59CZC
V59WJ6: MOV AH,40H
MOV BX,WJH
MOV DX,0
MOV CX,0
INT 21H
JNB V59WJ8
JMP V59XWJC
V59WJ8: JMP V59END0
;
V59END2: MOV FHM,2
MOV XSAXZC,0
JMP V59ZE1
V59END0: MOV FHM,0
MOV XSAXZC,0
JMP V59ZE1
;
V59OPENC: MOV FHM,1
MOV DX,OFFSET OPENCZF
MOV XSAXZC,DX
JMP V59ZE3
;
V59CZC: MOV DX,OFFSET CZCZF
JMP V59XSL
V59DWJC: MOV DX,OFFSET DWJCZF
JMP V59XSL
V59XWJC: MOV DX,OFFSET XWJCZF
V59XSL: MOV XSAXZC,DX
V59END1: MOV FHM,1
V59ZE1: CALL HFSJRQ
V59ZE2: CALL CLOFIL
V59ZE3: CALL HFSX
V59ZE4: MOV AX,XSAXZC
MOV DX,DS
RET
V59 ENDP
;
SEG_C ENDS
END V59START