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