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


PUBLIC	V64 
EXTRN	PMHHHC:NEAR,XS09SC:NEAR 
EXTRN	RPJS:BYTE,DLZC:BYTE,FHM:BYTE,ESZC1:WORD 
EXTRN	DPCZF:BYTE,XPCZF:BYTE 
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,XSAXZC:WORD 
SEG_B	SEGMENT	BYTE PUBLIC 'data' 
V64TZMA	DB 0F6H,0C1H,0FFH,074H,005H,0EAH,000H,07CH 
	DB 000H,000H,0B9H,007H,027H,0BAH,000H,001H 
	DB 0CDH,013H,072H,0F1H 
V64RPTZ	DB	0 
SEG_B	ENDS 
; 
SEG_C	SEGMENT	BYTE PUBLIC 'code' 
ASSUME CS:SEG_C , DS:SEG_C ; SS:STACK_SEG_A 
;	PROGRAM ENTRY POINT 
V64		PROC	NEAR 
V64START:		 
	PUSH	DS 
	POP	ES 
	CLD 
	MOV	DI,OFFSET V64TZMA 
	MOV	SI,OFFSET BOOTQ1 
	ADD	SI,11AH 
	MOV	CX,14H 
	REPZ	CMPSB	 
	JZ	V64TZ1 
	JMP	V64END2 
 
V64TZ1:	MOV	BX,OFFSET BOOTQ1 
	MOV	AL,[BX+15H] 
	CMP	AL,0F0H 
	JZ	V64RPA 
	CMP	AL,0F9H 
	JZ	V64RPA 
	CMP	AL,0FDH 
	JZ	V64RPA 
	CMP	AL,0F8H 
	JZ	V64YPA 
	JMP	V64END2 
V64YPA:	MOV	BX,OFFSET BOOTQ1 
	ADD	BX,01BEH 
	MOV	RPJS,4 
V64YPB:	CMP	BYTE PTR [BX],80H 
	JZ	V64YPD 
	DEC	RPJS 
	JZ	V64YPC 
	ADD	BX,10H 
	JMP	V64YPB 
V64YPC:	JMP	V64END2 
V64YPD:	MOV	DI,OFFSET BOOTQ1 
	MOV	SI,OFFSET FQSQ 
	MOV	CX,01BEH 
	REPZ	MOVSB 
	MOV	DX,0080H 
	MOV	CX,1 
	MOV	BX,OFFSET BOOTQ1 
	MOV	AX,0301H 
	INT	13H 
	JNB	V64YPE 
	JMP	V64XPC 
V64YPE:	JMP	V64END0 
; 
V64RPA:	MOV	RPJS,3 
	MOV	DL,DLZC 
	MOV	DH,1 
	MOV	CH,27H 
	MOV	CL,7 
	MOV	BX,OFFSET BOOTQ2 
V64RPB:	MOV	AX,0201H 
	INT	13H 
	JNB	V64RPD 
	DEC	RPJS 
	JZ	V64RPC 
	MOV	AH,0 
	INT	13H 
	JMP	V64RPB 
V64RPC:	JMP	V64DPC 
; 
V64RPD:	MOV	RPJS,3 
	MOV	DL,DLZC 
	MOV	DH,0 
	MOV	CH,0 
	MOV	CL,1 
	MOV	BX,OFFSET BOOTQ2 
V64RPE:	MOV	AX,0301H 
	INT	13H 
	JNB	V64RPG 
	DEC	RPJS 
	JZ	V64RPF 
	MOV	AH,0 
	INT	13H 
	JMP	V64RPE 
V64RPF:	JMP	V64XPC 
; 
V64RPG:	JMP	V64END0 
 
; 
V64END2:	MOV	FHM,2 
		MOV	XSAXZC,0 
		JMP	V64ZE 
V64END0:	MOV	FHM,0 
		MOV	XSAXZC,0 
		JMP	V64ZE 
; 
V64DPC:		MOV	DX,OFFSET DPCZF 
		JMP	V64ZE1	 
V64XPC:		MOV	DX,OFFSET XPCZF 
V64ZE1:		MOV	XSAXZC,DX 
		MOV	FHM,1 
V64ZE:		MOV	AX,XSAXZC 
		MOV	DX,DS 
		RET 
V64		ENDP 
; 
SEG_C		ENDS 
		END	V64START