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


; 
PUBLIC	V69 
EXTRN	PMHHHC:NEAR,XS09SC:NEAR 
EXTRN	RPJS:BYTE,DLZC:BYTE,FHM:BYTE,ESZC1:WORD 
EXTRN	DPCZF:BYTE,XPCZF:BYTE,XSAXZC:WORD 
EXTRN	JGBTZF1:BYTE,JGBTZF2:BYTE,JGBTZF3:BYTE 
EXTRN	BOOTQ1:BYTE,BOOTQ2:BYTE,FQSQ:BYTE,BOOTSQ:BYTE 
EXTRN	BPB144M:BYTE,BPB12M:BYTE,BPB360K:BYTE,BPB720K:BYTE 
EXTRN	YPBOOTDX:WORD,YPBOOTCX:WORD 
SEG_B	SEGMENT	BYTE PUBLIC 'data' 
V69TZMA	DB 080H,03EH,0C5H,00BH,044H,075H,033H,0C6H 
	DB 0C6H,0C5H,00BH,04BH,033H,0C0H,08EH,0C0H 
SEG_B	ENDS 
; 
SEG_C	SEGMENT	BYTE PUBLIC 'code' 
ASSUME CS:SEG_C , DS:SEG_C ; SS:STACK_SEG_A 
;	PROGRAM ENTRY POINT 
V69		PROC	NEAR 
V69START: 
	PUSH	DS 
	POP	ES 
	CLD	 
	MOV	DI,OFFSET V69TZMA 
	MOV	SI,OFFSET BOOTQ1 
	ADD	SI,00CBH 
	MOV	CX,10H 
	REPZ	CMPSB	 
	JZ	V69L01 
	JMP	V69END2	 
V69L01:	MOV	DL,DLZC 
	CMP	DL,02H 
	JNB	V69YP 
	JMP	V69END2	 
;	 
V69YP:	MOV	DX,0080H 
	MOV	CX,0002H 
	MOV	BX,OFFSET BOOTQ2 
	MOV	AX,0201H 
	INT	13H 
	JNB	V69YPA 
	JMP	V69DPC 
V69YPA:	MOV	AX,[BX+01FEH] 
	CMP	AX,0AA55H 
	JZ	V69YPB 
	MOV	[BX],AX 
	MOV	SI,OFFSET FQSQ 
	MOV	DI,OFFSET BOOTQ1 
	MOV	CX,01BEH 
	REPZ	MOVSB	 
	MOV	BX,OFFSET BOOTQ1 
	JMP	V69YPC 
V69YPB:	MOV	BX,OFFSET BOOTQ2 
V69YPC:	MOV	DX,0080H 
	MOV	CX,0001H 
	MOV	AX,0301H 
	INT	13H 
	JB	V69YPD 
	JMP	V69END0 
V69YPD:	JMP	V69XPC	 
; 
V69END2:	MOV	FHM,2 
		MOV	XSAXZC,0 
		JMP	V69ZE 
V69END0:	MOV	FHM,0 
		MOV	XSAXZC,0 
		JMP	V69ZE 
; 
V69DPC:		MOV	DX,OFFSET DPCZF 
		JMP	V69ZE1	 
V69XPC:		MOV	DX,OFFSET XPCZF 
V69ZE1:		MOV	XSAXZC,DX 
		MOV	FHM,1 
V69ZE:		MOV	AX,XSAXZC 
		MOV	DX,DS 
		RET 
V69		ENDP 
; 
SEG_C		ENDS 
		END	V69START