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


PUBLIC	V55 
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,WJMZZ: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 
; 
;		V55--1993 
;        CREATED:   95-10-22   
SEG_B	SEGMENT	PARA PUBLIC 'data' 
V55TZMA	DB	'COMMAND' 
SEG_B	ENDS 
; 
SEG_C	SEGMENT	PARA PUBLIC 'code' 
      ASSUME CS:SEG_C , DS:SEG_B 
V55		PROC	NEAR 
V55START: 
	PUSH	DS 
	POP	ES 
	CALL	BCSX 
	JNB	V55KS1 
	MOV	FHM,1 
	JMP	V55ZE4 
V55KS1:	CALL	GBSX 
	JNB	V55KS2 
	MOV	FHM,1 
	JMP	V55ZE4 
V55KS2:	CALL	WJXOPEN 
	JNB	V55KS3 
	JMP	V55OPENC 
V55KS3:	CALL	BCSJRQ 
	JNB	V55KS4 
	JMP	V55ZE2 
V55KS4:	CALL	WJZZM 
	JNB	V55KS5 
	JMP	V55CZC 
	MOV	WJCD1,DX 
	MOV	WJCD2,AX 
V55KS5:	CALL	WJZZS 
; 
	MOV	DX,OFFSET WJTQ 
	MOV	CX,20H 
	MOV	AH,3FH 
	MOV	BX,WJH 
	INT	21H 
	JNB	V55WJ1 
	JMP	V55DWJC 
V55WJ1:	MOV	SI,OFFSET WJTQ 
	MOV	AL,[SI] 
	CMP	AL,4DH 
	JZ	V55WE1 
	JMP	V55WC1 
V55WE1:	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	V55TZ1 
; 
V55WC1:	MOV	DX,0 
	MOV	BP,0 
V55WC2:	MOV	SI,OFFSET WJTQ 
	MOV	AL,[SI] 
	CMP	AL,0E9H 
	JNZ	V55WC4 
	MOV	AX,[SI+1] 
	ADD	AX,3 
	MOV	GZW01,BP 
	ADD	BP,AX 
	MOV	CX,0 
	MOV	DX,AX 
	MOV	AX,4200H 
	MOV	BX,WJH 
	INT	21H 
	JNB	V55WC3 
	JMP	V55CZC 
V55WC3:	MOV	DX,OFFSET WJTQ 
	MOV	CX,10H 
	MOV	AH,3FH 
	MOV	BX,WJH 
	INT	21H 
	JNB	V55WC2 
	JMP	V55DWJC 
V55WC4:	MOV	DX,0 
	MOV	AX,BP 
; 
V55TZ1:	MOV	WJCD1,DX 
	MOV	WJCD2,AX 
	ADD	AX,10H 
	ADC	DX,0 
	MOV	CX,DX 
	MOV	DX,AX 
	MOV	BX,WJH 
	MOV	AX,4200H 
	INT	21H 
	JNB	V55TZ2 
	JMP	V55CZC 
V55TZ2:	LEA	DX,BDTZHCQ 
	MOV	BX,WJH 
	MOV	CX,20H 
	MOV	AH,3FH 
	INT	21H 
	JNB	V55TZ3 
	JMP	V55DWJC 
V55TZ3:	MOV	SI,OFFSET BDTZHCQ 
	MOV	AX,[SI+0BH] 
	CMP	AX,02CCH 
	JNZ	V55TZ4 
	MOV	AX,[SI+17H] 
	CMP	AX,0116H 
	JNZ	V55TZ4 
	CMP	WJTYPE,'E' 
	JZ	V55WE2 
	JMP	V55WC5 
V55TZ4:	JMP	V55END2 
; 
V55WE2:	MOV	CX,WJCD1 
	MOV	DX,WJCD2 
	ADD	DX,0330H 
	ADC	CX,0 
	MOV	BX,WJH 
	MOV	AX,4200H 
	INT	21H 
	JNB	V55WE3 
	JMP	V55CZC 
V55WE3:	LEA	DX,BDTZHCQ 
	MOV	BX,WJH 
	MOV	CX,20H 
	MOV	AH,3FH 
	INT	21H 
	JNB	V55WE4 
	JMP	V55DWJC 
V55WE4:	MOV	SI,OFFSET BDTZHCQ 
	MOV	DI,OFFSET WJTQ 
	MOV	AX,[SI+0AH] 
	MOV	[DI+14H],AX 
	MOV	AX,[SI+0CH] 
	MOV	[DI+16H],AX 
	MOV	AX,[SI+0EH] 
	MOV	[DI+0EH],AX 
	MOV	DX,WJCD1 
	MOV	AX,WJCD2 
	MOV	CX,0200H 
	DIV	CX 
	OR	DX,DX 
	JZ	V55WE5 
	INC	AX 
V55WE5:	MOV	[DI+02],DX 
	MOV	[DI+04],AX 
	CALL	WJZZS 
	MOV	DX,OFFSET WJTQ 
	MOV	CX,18H 
	MOV	BX,WJH 
	MOV	AH,40H 
	INT	21H 
	JNB	V55WE6 
	JMP	V55XWJC 
V55WE6:	JMP	V55WJ6 
; 
V55WC5:	MOV	CX,WJCD1 
	MOV	DX,WJCD2 
	ADD	DX,071FH 
	ADC	CX,0 
	MOV	BX,WJH 
	MOV	AX,4200H 
	INT	21H 
	JNB	V55WC6 
	JMP	V55CZC 
V55WC6:	LEA	DX,BDTZHCQ 
	MOV	BX,WJH 
	MOV	CX,4 
	MOV	AH,3FH 
	INT	21H 
	JNB	V55WC7 
	JMP	V55DWJC 
V55WC7:	MOV	CX,0 
	MOV	DX,GZW01 
	MOV	BX,WJH 
	MOV	AX,4200H 
	INT	21H 
	JNB	V55WC8 
	JMP	V55CZC 
V55WC8:	LEA	DX,BDTZHCQ 
	MOV	BX,WJH 
	MOV	CX,4 
	MOV	AH,40H 
	INT	21H 
	JNB	V55WC9 
	JMP	V55DWJC 
V55WC9:	MOV	SI,WJMZZ 
	MOV	DI,OFFSET V55TZMA 
	MOV	CX,7 
V55WCA:	MOV	AL,[SI] 
	MOV	AH,[DI] 
	XOR	AL,AH 
	CMP	AL,0 
	JZ	V55WCB 
	CMP	AL,20H 
	JZ	V55WCB 
	JMP	V55WJ6 
V55WCB:	INC	SI 
	INC	DI 
	LOOP	V55WCA 
	MOV	SI,0 
	MOV	CX,073FH 
	MOV	AX,ESZC1 
	MOV	ES,AX 
	MOV	AL,0 
V55WCC:	MOV	ES:[SI],AL 
	INC	SI 
	LOOP	V55WCC 
	MOV	CX,0 
	MOV	DX,WJCD2 
	MOV	AX,4200H 
	MOV	BX,WJH 
	INT	21H 
	JNB	V55WCD 
	JMP	V55CZC 
V55WCD:	MOV	DX,0 
	MOV	CX,073FH 
	MOV	BX,WJH 
	PUSH	DS 
	MOV	AX,ESZC1 
	MOV	DS,AX 
	MOV	AH,40H 
	INT	21H 
	POP	DS 
	JNB	V55WCE 
	JMP	V55XWJC 
V55WCE:	JMP	V55WJ8 
; 
V55WJ6:	MOV	AX,4200H 
	MOV	CX,WJCD1 
	MOV	DX,WJCD2 
	MOV	BX,WJH 
	INT	21H 
	JNB	V55WJ7 
	JMP	V55CZC 
V55WJ7:	MOV	AH,40H 
	MOV	BX,WJH 
	MOV	DX,0 
	MOV	CX,0 
	INT	21H 
	JNB	V55WJ8 
	JMP	V55XWJC 
V55WJ8:	JMP	V55END0 
; 
V55END2:	MOV	FHM,2 
		MOV	XSAXZC,0 
		JMP	V55ZE1 
V55END0:	MOV	FHM,0 
		MOV	XSAXZC,0 
		JMP	V55ZE1 
; 
V55OPENC:	MOV	FHM,1 
		MOV	DX,OFFSET OPENCZF 
		MOV	XSAXZC,DX 
		JMP	V55ZE3 
; 
V55CZC:		MOV	DX,OFFSET CZCZF 
		JMP	V55XSL 
V55DWJC:	MOV	DX,OFFSET DWJCZF 
		JMP	V55XSL 
V55XWJC:	MOV	DX,OFFSET XWJCZF 
V55XSL:		MOV	XSAXZC,DX 
V55END1:	MOV	FHM,1 
V55ZE1:		CALL	HFSJRQ 
V55ZE2:		CALL	CLOFIL 
V55ZE3:		CALL	HFSX 
V55ZE4:		MOV	AX,XSAXZC 
		MOV	DX,DS 
		RET 
V55		ENDP 
; 
SEG_C	ENDS 
	END	V55START