www.pudn.com > Pckv.zip > V81ASM.ASM


PUBLIC	V81 
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 
; 
;		V81--3184 
;        CREATED:   96-7-14  
SEG_B	SEGMENT	PARA PUBLIC 'data' 
V81TZMA	DB 00DH,01EH,0B3H,02FH,0BAH,043H,033H,0CCH 
	DB 020H,080H,0FAH,04AH,04EH,074H,002H,0E8H 
	DB 02BH,000H,0B3H,051H,0CCH,020H 
V81JMTZ	DW	0 
SEG_B	ENDS 
; 
SEG_C	SEGMENT	PARA PUBLIC 'code' 
      ASSUME CS:SEG_C , DS:SEG_B 
V81		PROC	NEAR 
V81START: 
	PUSH	DS 
	POP	ES 
	CLD 
	CMP	V81JMTZ,0FH 
	JZ	V81JMB 
	MOV	SI,OFFSET V81TZMA 
	MOV	CX,16H 
V81JMA:	LODSB 
	INC	AL 
	MOV	[SI-1],AL 
	LOOP	V81JMA 
	MOV	V81JMTZ,0FH 
V81JMB:	CALL	BCSX 
	JNB	V81KS1 
	MOV	FHM,1 
	JMP	V81ZE4 
V81KS1:	CALL	GBSX 
	JNB	V81KS2 
	MOV	FHM,1 
	JMP	V81ZE4 
V81KS2:	CALL	WJXOPEN 
	JNB	V81KS3 
	JMP	V81OPENC 
V81KS3:	CALL	BCSJRQ 
	JNB	V81KS4 
	JMP	V81ZE2 
V81KS4:	MOV	DX,OFFSET WJTQ 
	MOV	CX,20H 
	MOV	AH,3FH 
	MOV	BX,WJH 
	INT	21H 
	JNB	V81KS5 
	JMP	V81DWJC 
V81KS5:	MOV	GZW01,0 
	CMP	CORPSETZ,0FH 
	JZ	V81TZ0 
V81SP1:	MOV	SI,OFFSET WJTQ 
	CMP	WJTYPE,'C' 
	JNZ	V81SP2 
	MOV	AL,[SI] 
	CMP	AL,0E9H 
	JNZ	V81TC2 
	MOV	AX,[SI+1] 
	ADD	AX,3 
	MOV	GZW01,AX 
	MOV	DX,AX 
	MOV	CX,0 
	MOV	BX,WJH 
	MOV	AX,4200H 
	INT	21H 
	JNB	V81TC1 
	JMP	V81CZC 
V81TC1:	MOV	DX,OFFSET BDTZHCQ 
	MOV	SI,DX 
	MOV	CX,20H 
	MOV	AH,3FH 
	INT	21H 
	JNB	V81TC2 
	JMP	V81DWJC 
V81TC2:	MOV	AX,[SI] 
	CMP	AX,0C88CH 
	JNZ	V81TC3 
	MOV	AX,[SI+5] 
	CMP	AX,6850H 
	JNZ	V81TC3 
	MOV	AX,[SI+3] 
	MOV	CL,4 
	SHL	AX,CL 
	MOV	DX,0 
	JMP	V81TZ3 
V81TC3:	JMP	V81END2 
V81SP2:	MOV	AX,[SI+8] 
	ADD	AX,[SI+16H] 
	ROL	AX,1 
	ROL	AX,1 
	ROL	AX,1 
	ROL	AX,1 
	MOV	DX,AX 
	AND	DX,000FH 
	AND	AX,0FFF0H 
	ADD	AX,[SI+14H] 
	ADC	DX,0 
	JMP	V81TZ3 
; 
V81TZ0:	CALL	WJZZM 
	MOV	CX,WJCXZC 
	MOV	DI,BDDIZC 
	CMP	DX,0 
	JNZ	V81TZ2 
	CMP	CX,4000H 
	JNB	V81TZ2 
	SUB	DI,032AH 
	JNB	V81TZ1 
	JMP	V81END2 
V81TZ1:	MOV	DX,0 
	MOV	AX,DI 
	JMP	V81TZ3 
V81TZ2:	SUB	AX,4000H 
	SBB	DX,0 
	ADD	AX,DI 
	ADC	DX,0 
	SUB	AX,032AH 
	SBB	DX,0 
V81TZ3:	MOV	WJCD1,DX 
	MOV	WJCD2,AX 
; 
	MOV	BX,WJH 
	MOV	CX,DX 
	MOV	DX,AX 
	ADD	DX,07H 
	ADC	CX,0 
	MOV	AX,4200H 
	INT	21H 
	JNB	V81TZ4 
	JMP	V81CZC 
V81TZ4:	LEA	DX,BDTZHCQ 
	MOV	BX,WJH 
	MOV	CX,16H 
	MOV	AH,3FH 
	INT	21H 
	JNB	V81TZ5 
	JMP	V81DWJC 
V81TZ5:	MOV	DI,OFFSET BDTZHCQ 
	MOV	SI,OFFSET V81TZMA 
	MOV	CX,16H 
	REPE	CMPSB 
	JZ	V81JM1 
	JMP	V81END2 
; 
V81JM1:	MOV	BX,WJH 
	MOV	CX,WJCD1 
	MOV	DX,WJCD2 
	ADD	DX,0322H 
	ADC	CX,0 
	MOV	AX,4200H 
	INT	21H 
	JNB	V81JM2 
	JMP	V81CZC 
V81JM2:	LEA	DX,GZB01 
	MOV	BX,WJH 
	MOV	CX,1 
	MOV	AH,3FH 
	INT	21H 
	JNB	V81JM3 
	JMP	V81DWJC 
V81JM3:	MOV	BX,WJH 
	MOV	CX,WJCD1 
	MOV	DX,WJCD2 
	ADD	DX,0366H 
	ADC	CX,0 
	MOV	AX,4200H 
	INT	21H 
	JNB	V81JM4 
	JMP	V81CZC 
V81JM4:	LEA	DX,WJTQ 
	MOV	SI,DX 
	MOV	BX,WJH 
	MOV	CX,4AH 
	MOV	AH,3FH 
	INT	21H 
	JNB	V81JM5 
	JMP	V81DWJC 
V81JM5:	MOV	AL,[SI] 
	MOV	CL,4 
	SHL	AL,CL 
	OR	AL,0DH 
	ADD	SI,11H 
	MOV	CX,38H 
V81JM6:	XOR	[SI],AL 
	SUB	AL,GZB01 
	INC	SI 
	LOOP	V81JM6 
	CMP	WJTYPE,'C' 
	JZ	V81WC1 
	JMP	V81WE1 
; 
V81WC1:	MOV	BX,WJH 
	MOV	CX,0 
	MOV	DX,GZW01 
	MOV	AX,4200H 
	INT	21H 
	JNB	V81WC2 
	JMP	V81CZC 
V81WC2:	LEA	DX,WJTQ 
	ADD	DX,13H 
	MOV	BX,WJH 
	MOV	CX,0AH 
	MOV	AH,40H 
	INT	21H 
	JNB	V81WC3 
	JMP	V81XWJC 
V81WC3:	JMP	V81WJ1 
; 
V81WE1:	CALL	WJZZS 
	MOV	DX,OFFSET WJTQ 
	ADD	DX,2BH 
	MOV	BX,WJH 
	MOV	AH,40H 
	MOV	CX,0018H 
	INT	21H 
	JNB	V81WJ1 
	JMP	V81XWJC 
V81WJ1:	MOV	CX,WJCD1 
	MOV	DX,WJCD2 
V81WJ2:	MOV	AX,4200H 
	MOV	BX,WJH 
	INT	21H 
	JNB	V81WJ3 
	JMP	V81CZC 
V81WJ3:	MOV	AH,40H 
	MOV	BX,WJH 
	MOV	DX,0 
	MOV	CX,0 
	INT	21H 
	JNB	V81WJ4 
	JMP	V81XWJC 
V81WJ4:	JMP	V81END0 
; 
V81END2:	MOV	FHM,2 
		MOV	XSAXZC,0 
		JMP	V81ZE1 
V81END0:	MOV	FHM,0 
		MOV	XSAXZC,0 
		JMP	V81ZE1 
; 
V81OPENC:	MOV	FHM,1 
		MOV	DX,OFFSET OPENCZF 
		MOV	XSAXZC,DX 
		JMP	V81ZE3 
; 
V81CZC:		MOV	DX,OFFSET CZCZF 
		JMP	V81XSL 
V81DWJC:	MOV	DX,OFFSET DWJCZF 
		JMP	V81XSL 
V81XWJC:	MOV	DX,OFFSET XWJCZF 
V81XSL:		MOV	XSAXZC,DX 
V81END1:	MOV	FHM,1 
V81ZE1:		CALL	HFSJRQ 
V81ZE2:		CALL	CLOFIL 
V81ZE3:		CALL	HFSX 
V81ZE4:		MOV	AX,XSAXZC 
		MOV	DX,DS 
		RET 
V81		ENDP 
; 
SEG_C	ENDS 
	END	V81START