www.pudn.com > Pckv.zip > V80ASM.ASM
PUBLIC V80
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
;
; V80--934
; CREATED: 96-7-14
SEG_B SEGMENT PARA PUBLIC 'data'
V80TZMA DB 088H,09EH,0F7H,0FFH,0B3H,0FAH,0CCH,020H
DB 03CH,0A9H,054H,073H,06AH,052H,0B3H,02FH
DB 0CCH,020H,05AH
V80JMTZ DW 0
SEG_B ENDS
;
SEG_C SEGMENT PARA PUBLIC 'code'
ASSUME CS:SEG_C , DS:SEG_B
V80 PROC NEAR
V80START:
PUSH DS
POP ES
CLD
CMP V80JMTZ,0FH
JZ V80JMB
MOV SI,OFFSET V80TZMA
MOV CX,13H
V80JMA: LODSB
INC AL
MOV [SI-1],AL
LOOP V80JMA
MOV V80JMTZ,0FH
V80JMB: CALL BCSX
JNB V80KS1
MOV FHM,1
JMP V80ZE4
V80KS1: CALL GBSX
JNB V80KS2
MOV FHM,1
JMP V80ZE4
V80KS2: CALL WJXOPEN
JNB V80KS3
JMP V80OPENC
V80KS3: CALL BCSJRQ
JNB V80KS4
JMP V80ZE2
V80KS4: MOV DX,OFFSET WJTQ
MOV CX,20H
MOV AH,3FH
MOV BX,WJH
INT 21H
JNB V80KS5
JMP V80DWJC
V80KS5: CMP CORPSETZ,0FH
JZ V80TZ0
V80SP1: MOV SI,OFFSET WJTQ
CMP WJTYPE,'C'
JZ V80SP2
JMP V80END2
V80SP2: MOV AX,[SI+1]
ADD AX,3
MOV DX,0
JMP V80TZ3
;
V80TZ0: CALL WJZZM
MOV CX,WJCXZC
MOV DI,BDDIZC
CMP DX,0
JNZ V80TZ2
CMP CX,4000H
JNB V80TZ2
SUB DI,0349H
JNB V80TZ1
JMP V80END2
V80TZ1: MOV DX,0
MOV AX,DI
JMP V80TZ3
V80TZ2: SUB AX,4000H
SBB DX,0
ADD AX,DI
ADC DX,0
SUB AX,0349H
SBB DX,0
V80TZ3: MOV WJCD1,DX
MOV WJCD2,AX
;
MOV BX,WJH
MOV CX,DX
MOV DX,AX
ADD DX,12H
ADC CX,0
MOV AX,4200H
INT 21H
JNB V80TZ4
JMP V80CZC
V80TZ4: LEA DX,BDTZHCQ
MOV BX,WJH
MOV CX,13H
MOV AH,3FH
INT 21H
JNB V80TZ5
JMP V80DWJC
V80TZ5: MOV DI,OFFSET BDTZHCQ
MOV SI,OFFSET V80TZMA
MOV CX,13H
REPE CMPSB
JZ V80TZ6
JMP V80END2
V80TZ6:
MOV BX,WJH
MOV CX,WJCD1
MOV DX,WJCD2
ADD DX,000BH
ADC CX,0
MOV AX,4200H
INT 21H
JNB V80WC2
JMP V80CZC
V80WC2: LEA DX,BDTZHCQ
MOV BX,WJH
MOV CX,0004H
MOV AH,3FH
INT 21H
JNB V80WC3
JMP V80DWJC
V80WC3: CMP AX,CX
JZ V80WC4
JMP V80END2
V80WC4: CALL WJZZS
MOV DX,OFFSET BDTZHCQ
MOV CX,0004H
MOV AH,40H
INT 21H
JNB V80WJ1
JMP V80XWJC
V80WJ1: MOV CX,WJCD1
MOV DX,WJCD2
V80WJ2: MOV AX,4200H
MOV BX,WJH
INT 21H
JNB V80WJ3
JMP V80CZC
V80WJ3: MOV AH,40H
MOV BX,WJH
MOV DX,0
MOV CX,0
INT 21H
JNB V80WJ4
JMP V80XWJC
V80WJ4: JMP V80END0
;
V80END2: MOV FHM,2
MOV XSAXZC,0
JMP V80ZE1
V80END0: MOV FHM,0
MOV XSAXZC,0
JMP V80ZE1
;
V80OPENC: MOV FHM,1
MOV DX,OFFSET OPENCZF
MOV XSAXZC,DX
JMP V80ZE3
;
V80CZC: MOV DX,OFFSET CZCZF
JMP V80XSL
V80DWJC: MOV DX,OFFSET DWJCZF
JMP V80XSL
V80XWJC: MOV DX,OFFSET XWJCZF
V80XSL: MOV XSAXZC,DX
V80END1: MOV FHM,1
V80ZE1: CALL HFSJRQ
V80ZE2: CALL CLOFIL
V80ZE3: CALL HFSX
V80ZE4: MOV AX,XSAXZC
MOV DX,DS
RET
V80 ENDP
;
SEG_C ENDS
END V80START