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


PUBLIC	V51 
EXTRN	PMHHHC:NEAR,XS09SC:NEAR,JGBTBDA:NEAR,GZB03:BYTE 
EXTRN	RPJS:BYTE,DLZC:BYTE,FHM:BYTE,ESZC1:WORD 
EXTRN	DPCZF:BYTE,XPCZF:BYTE 
EXTRN	JGBTZF1:NEAR,JGBTZF2:NEAR,JGBTZF3:NEAR 
EXTRN	BOOTQ1:BYTE,BOOTQ2:BYTE,FQSQ:BYTE 
EXTRN	XSAXZC:WORD 
SEG_B	SEGMENT	BYTE PUBLIC 'data' 
;V51OKZF	DB '  ÕÒµ½ BUPT(B) ²¡¶¾ Òѱ»É±µô¡£$' 
V51GZWA	DW	0 
V51GZWB	DW	0 
V51TZMA	DB 0BBH,000H,006H,0CDH,013H,0C6H,006H,01DH 
	DB 07CH,000H,0EAH,04DH,006H,000H,000H 
SEG_B	ENDS 
; 
SEG_C	SEGMENT	BYTE PUBLIC 'code' 
ASSUME CS:SEG_C , DS:SEG_C ; SS:STACK_SEG_A 
;	PROGRAM ENTRY POINT 
V51		PROC	NEAR 
V51START: 
	PUSH	DS 
	POP	ES 
	CLD	 
	MOV	DI,OFFSET V51TZMA 
	MOV	SI,OFFSET BOOTQ1 
	ADD	SI,+2CH 
	MOV	CX,000FH 
	REPZ	CMPSB	 
	JZ	V51L01 
	JMP	V51END2 
V51L01:	MOV	SI,OFFSET BOOTQ1 
	MOV	DX,[SI+2AH] 
	MOV	DL,DLZC 
	MOV	V51GZWA,DX 
	MOV	CX,[SI+27H] 
	MOV	V51GZWB,CX 
	CMP	CX,0003H 
	JZ	V51L02 
	CMP	CX,000EH 
	JZ	V51L02 
	CMP	CX,0004H 
	JZ	V51L02 
	JMP	V51JG1 
V51L02:	MOV	RPJS,3 
V51L03:	MOV	DX,V51GZWA 
	MOV	CX,V51GZWB 
	MOV	BX,OFFSET BOOTQ2 
	MOV	AX,0201H 
	INT	13H 
	JNB	V51L05 
	CMP	DL,80H 
	JZ	V51L04 
	DEC	RPJS 
	JZ	V51L04 
	MOV	AH,00H 
	INT	13H 
	JMP	V51L03 
V51L04:	JMP	V51DPC 
V51L05:	MOV	SI,OFFSET BOOTQ2 
	MOV	DI,OFFSET BOOTQ1 
	MOV	CX,004DH 
	REPZ	MOVSB 
	CMP	BYTE PTR DLZC,02H 
	JNB	V51YP 
	JMP	V51RP	 
V51YP:	MOV	DX,0080H 
	MOV	CX,0001H 
	MOV	BX,OFFSET BOOTQ1 
	MOV	AX,0301H 
	JNB	V51YPC 
	JMP	V51XPC 
V51YPC:	JMP	V51RPD 
;		 
V51RP:	MOV	RPJS,3 
V51RPA:	MOV	DX,V51GZWA 
	MOV	DH,00H 
	MOV	CX,0001H 
	MOV	BX,OFFSET BOOTQ1 
	MOV	AX,0301H 
	INT	13H 
	JNB	V51RPC 
	DEC	RPJS 
	JZ	V51RPB 
	MOV	AH,0 
	INT	13H 
	JMP	V51RPA 
V51RPB:	JMP	V51XPC 
V51RPC:	MOV	CX,10H 
	MOV	AL,0E5H 
V51RPD:	MOV	SI,OFFSET BOOTQ2 
	MOV	[SI],AL 
	ADD	SI,20H 
	LOOP	V51RPD 
	MOV	RPJS,3 
V51RPE:	MOV	DX,V51GZWA 
	MOV	CX,V51GZWB 
	MOV	BX,OFFSET BOOTQ2 
	MOV	AX,0301H 
	INT	13H 
	JNB	V51RPG 
	DEC	RPJS 
	JZ	V51RPF 
	MOV	AH,0 
	INT	13H 
	JMP	V51RPE 
V51RPF:	JMP	V51XPC 
V51RPG:	JMP	V51END0		 
; 
V51END2:	MOV	FHM,2 
		MOV	XSAXZC,0 
		JMP	V51ZE 
V51END0:	MOV	FHM,0 
		MOV	XSAXZC,0 
		JMP	V51ZE 
; 
V51JG1:		CALL	JGBTBDA 
		JMP	V51ZE2 
V51DPC:		MOV	DX,OFFSET DPCZF 
		JMP	V51ZE1	 
V51XPC:		MOV	DX,OFFSET XPCZF 
V51ZE1:		MOV	XSAXZC,DX 
V51ZE2:		MOV	FHM,1 
V51ZE:		MOV	AX,XSAXZC 
		MOV	DX,DS 
		RET 
V51		ENDP 
SEG_C		ENDS 
		END	V51START