www.pudn.com > Pckv.zip > V76ASM.ASM
PUBLIC V76
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
;
; V76--2063
; CREATED: 96-6-26
SEG_B SEGMENT PARA PUBLIC 'data'
V76TZMA DB 0B7H,007H,0E6H,0CCH,020H,03CH,0CCH,011H
DB 073H,002H,0EAH,063H,08FH,07FH,03DH,093H
DB 0FFH,0FEH,073H,013H,005H
V76JMTZ DW 0
SEG_B ENDS
;
SEG_C SEGMENT PARA PUBLIC 'code'
ASSUME CS:SEG_C , DS:SEG_B
V76 PROC NEAR
V76START:
PUSH DS
POP ES
CLD
CMP V76JMTZ,0FH
JZ V76JMB
MOV SI,OFFSET V76TZMA
MOV CX,15H
V76JMA: LODSB
INC AL
MOV [SI-1],AL
LOOP V76JMA
MOV V76JMTZ,0FH
V76JMB: CALL BCSX
JNB V76KS1
MOV FHM,1
JMP V76ZE4
V76KS1: CALL GBSX
JNB V76KS2
MOV FHM,1
JMP V76ZE4
V76KS2: CALL WJXOPEN
JNB V76KS3
JMP V76OPENC
V76KS3: CALL BCSJRQ
JNB V76KS4
JMP V76ZE2
V76KS4: MOV DX,OFFSET WJTQ
MOV CX,20H
MOV AH,3FH
MOV BX,WJH
INT 21H
JNB V76KS5
JMP V76DWJC
V76KS5: CALL WJZZM
JNB V76TZ0
JMP V76CZC
;
V76TZ0: MOV CX,WJCXZC
MOV DI,BDDIZC
CMP DX,0
JNZ V76TZ2
CMP CX,4000H
JNB V76TZ2
SUB DI,036BH
JNB V76TZ1
JMP V76END2
V76TZ1: MOV WJCD1,0
MOV WJCD2,DI
MOV DX,0
MOV AX,DI
JMP V76TZ3
V76TZ2: SUB AX,4000H
SBB DX,0
ADD AX,DI
ADC DX,0
SUB AX,036BH
SBB DX,0
MOV WJCD1,DX
MOV WJCD2,AX
V76TZ3: MOV BX,WJH
MOV CX,DX
MOV DX,AX
ADD DX,30H
ADC CX,0
MOV AX,4200H
INT 21H
JNB V76TZ4
JMP V76CZC
V76TZ4: LEA DX,BDTZHCQ
MOV BX,WJH
MOV CX,15H
MOV AH,3FH
INT 21H
JNB V76TZ5
JMP V76DWJC
V76TZ5: MOV DI,OFFSET BDTZHCQ
MOV SI,OFFSET V76TZMA
MOV CX,15H
REPE CMPSB
JZ V76TZ6
JMP V76END2
V76TZ6: CMP WJTYPE,'C'
JZ V76WC1
JMP V76WE1
;
V76WC1: MOV BX,WJH
MOV CX,WJCD1
MOV DX,WJCD2
ADD DX,03C6H
ADC CX,0
MOV AX,4200H
INT 21H
JNB V76WC2
JMP V76CZC
V76WC2: LEA DX,BDTZHCQ
MOV BX,WJH
MOV CX,1CH
MOV AH,3FH
INT 21H
JNB V76WC3
JMP V76DWJC
V76WC3: CMP AX,CX
JZ V76WC4
JMP V76END2
V76WC4: CALL WJZZS
MOV DX,OFFSET BDTZHCQ
MOV CX,1CH
MOV AH,40H
INT 21H
JNB V76WC5
JMP V76XWJC
V76WC5: JMP V76WJ1
;
V76WE1: MOV BX,WJH
MOV CX,WJCD1
MOV DX,WJCD2
ADD DX,03A8H
ADC CX,0
MOV AX,4200H
INT 21H
JNB V76WE2
JMP V76CZC
V76WE2: LEA DX,BDTZHCQ
MOV BX,WJH
MOV CX,8H
MOV AH,3FH
INT 21H
JNB V76WE3
JMP V76DWJC
V76WE3: CMP AX,CX
JZ V76WE4
JMP V76END2
V76WE4: MOV SI,OFFSET BDTZHCQ
MOV DI,OFFSET WJTQ
MOV AX,[SI+0H]
MOV [DI+0EH],AX
MOV AX,[SI+2H]
MOV [DI+10H],AX
MOV AX,[SI+4H]
MOV [DI+14H],AX
MOV AX,[SI+6H]
MOV [DI+16H],AX
;
MOV DX,WJCD1
MOV AX,WJCD2
MOV CX,0200H
DIV CX
OR DX,DX
JZ V76WE5
INC AX
V76WE5: 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 V76WJ1
JMP V76XWJC
V76WJ1: MOV CX,WJCD1
MOV DX,WJCD2
V76WJ2: MOV AX,4200H
MOV BX,WJH
INT 21H
JNB V76WJ3
JMP V76CZC
V76WJ3: MOV AH,40H
MOV BX,WJH
MOV DX,0
MOV CX,0
INT 21H
JNB V76WJ4
JMP V76XWJC
V76WJ4: JMP V76END0
;
V76END2: MOV FHM,2
MOV XSAXZC,0
JMP V76ZE1
V76END0: MOV FHM,0
MOV XSAXZC,0
JMP V76ZE1
;
V76OPENC: MOV FHM,1
MOV DX,OFFSET OPENCZF
MOV XSAXZC,DX
JMP V76ZE3
;
V76CZC: MOV DX,OFFSET CZCZF
JMP V76XSL
V76DWJC: MOV DX,OFFSET DWJCZF
JMP V76XSL
V76XWJC: MOV DX,OFFSET XWJCZF
V76XSL: MOV XSAXZC,DX
V76END1: MOV FHM,1
V76ZE1: CALL HFSJRQ
V76ZE2: CALL CLOFIL
V76ZE3: CALL HFSX
V76ZE4: MOV AX,XSAXZC
MOV DX,DS
RET
V76 ENDP
;
SEG_C ENDS
END V76START