.MODEL LARGE
STACK SEGMENT PARA STACK 'STACK'
DW 128 DUP(?)
STACK ENDS
DATA SEGMENT PARA PUBLIC 'DATA'
PA70_0 DB 46h,0,50,08;70道0面
DB 46h,0,245,08
DB 46h,0,110,08
DB 46h,0,64,08
DB 46h,0,87,08
PA70_1 DB 46h,1,13,08;70道1面
DB 46h,1,37,08
DB 46h,1,206,08
DB 46h,1,169,08
DB 46h,1,162,08
PA71_0 DB 47h,0,231,6
DB 47h,0,44,6;71道0面
PA71_1 DB 47h,1,198,6
DB 47h,1,192,6;71道1面
PA72_0 DB 48h,0,51,4;72道0面
DB 48h,0,118,6
DB 48h,0,147,6
DB 48h,0,223,06h
DB 48h,0,102,6
PA72_1 DB 48h,1,117,6
DB 48h,1,111,6;72道1面
PA73_0 DB 49h,0,44,4
DB 49h,0,172,6
DB 49h,0,86,6
DB 49h,0,103,6
DB 49h,0,190,6
PA73_1 DB 49h,1,77,6
DB 49h,1,179,6
PA74_0 DB 4ah,0,67,6
DB 4ah,0,107,6
PA74_1 DB 4ah,1,39,6
DB 4ah,1,61,6
PA75_0 DB 4bh,0,22,6
DB 4bh,0,18,6
PA75_1 DB 4bh,1,115,6
DB 4bh,1,86,6
PA76_0 DB 4ch,0,102,6
DB 4ch,0,52,6
PA76_1 DB 4ch,1,99,6
DB 4ch,1,244,6
PA77_0 DB 4dh,0,25,6
DB 4dh,0,101,5
DB 4dh,0,138,6
DB 4dh,0,83,6
DB 4dh,0,53,6
PA77_1 DB 4dh,1,3,6
DB 4dh,1,117,6
PA78_0 DB 4eh,0,133,7
DB 4eh,0,146,6
DB 4eh,0,254,4
DB 4eh,0,252,6
DB 4eh,0,156,6
PA78_1 DB 4eh,1,56,06
DB 4eh,1,199,6
PA79_0 DB 4Fh,0,126,6
DB 4Fh,0,100,6
PA79_1 DB 4fh,1,31,04
DB 4fh,1,145,06
DB 4fh,1,166,08
DB 4fh,1,104,06
DB 4fh,1,201,6
PA80_0 DB 50h,0,19,08
DB 50h,0,125,06
DB 50h,0,133,06
DB 50h,0,56,05
DB 50h,0,247,06h
PA80_1 DB 50h,1,101,6
DB 50h,1,248,6
f710 db 'k71044.fin',0
f711 db 'k711192.fin',0
f721 db 'k721111.fin',0
f731 db 'k731179.fin',0
f740 db 'k740107.fin',0
f741 db 'k74161.fin',0
f750 db 'k75018.fin',0
f751 db 'k75186.fin',0
f760 db 'k76052.fin',0
f761 db 'k761244.fin',0
f771 db 'k771117.fin',0
f781 db 'k781199.fin',0
f790 db 'k790100.fin',0
f801 db 'k801248.fin',0
DISP1 DB 'Failure!',0ah,0dh,24h
DISP2 DB 'Success!',0ah,0dh,24h
DISP3 DB 'Making KV3000 Key Disk!',0AH,0DH,24H
DISP4 DB 'CRACKED by ZHUXIAOHUA 2000.11.18',0AH,0DH,24H
DISP5 DB 'TRY A BUG',0AH,0DH,24H
DISP6 DB 'Insert a disk in drive A: press any key to continue!',0ah,0dh,24h
DISP7 DB 'E-mail:zhuxiaohua@126.com', 0ah,0dh,24h
READ_ERR DB 'Can not open fin file or file not exist!',0AH,0DH,24H
DISP700 DB 'Track 70 side 0 made OK',0AH,0DH,24H
DISP701 DB 'Track 70 side 1 made OK',0ah,0dh,24h
DISP710 DB 'Track 71 side 0 made OK',0AH,0DH,24H
DISP711 DB 'Track 71 side 1 made OK',0ah,0dh,24h
DISP720 DB 'Track 72 side 0 made OK',0ah,0dh,24h
DISP721 DB 'Track 72 side 1 made OK',0AH,0DH,24H
DISP730 DB 'Track 73 side 0 made OK',0AH,0DH,24H
DISP731 DB 'Track 73 side 1 made OK',0ah,0dh,24h
DISP740 DB 'Track 74 side 0 made OK',0ah,0dh,24h
DISP741 DB 'Track 74 side 1 made OK',0ah,0dh,24h
DISP750 DB 'Track 75 side 0 made OK',0ah,0dh,24h
DISP751 DB 'Track 75 side 1 made OK',0AH,0DH,24H
DISP760 DB 'Track 76 side 0 made OK',0ah,0dh,24h
DISP761 DB 'Track 76 side 1 made OK',0AH,0DH,24H
DISP770 DB 'Track 77 side 0 made OK',0AH,0DH,24H
DISP771 DB 'Track 77 side 1 made OK',0ah,0dh,24h
DISP780 DB 'Track 78 side 0 made OK',0AH,0DH,24H
DISP781 DB 'Track 78 side 1 made OK',0ah,0dh,24h
DISP790 DB 'Track 79 side 0 made OK',0ah,0dh,24h
DISP791 DB 'Track 79 side 1 made OK',0ah,0dh,24h
DISP800 DB 'Track 80 side 0 made OK',0ah,0dh,24h
DISP801 DB 'Track 80 side 1 made OK',0ah,0dh,24h
DISP710W DB 'Track 71 side 0 Write OK',0AH,0DH,24H
DISP711W DB 'Track 71 side 1 Write OK',0ah,0dh,24h
DISP721W DB 'Track 72 side 1 Write OK',0AH,0DH,24H
DISP731W DB 'Track 73 side 1 Write OK',0ah,0dh,24h
DISP740W DB 'Track 74 side 0 Write OK',0ah,0dh,24h
DISP741W DB 'Track 74 side 1 Write OK',0ah,0dh,24h
DISP750W DB 'Track 75 side 0 Write OK',0ah,0dh,24h
DISP751W DB 'Track 75 side 1 Write OK',0AH,0DH,24H
DISP760W DB 'Track 76 side 0 Write OK',0ah,0dh,24h
DISP761W DB 'Track 76 side 1 Write OK',0AH,0DH,24H
DISP770W DB 'Track 77 side 0 Write OK',0AH,0DH,24H
DISP771W DB 'Track 77 side 1 Write OK',0ah,0dh,24h
DISP780W DB 'Track 78 side 0 Write OK',0AH,0DH,24H
DISP781W DB 'Track 78 side 1 Write OK',0ah,0dh,24h
DISP790W DB 'Track 79 side 0 Write OK',0ah,0dh,24h
DISP791W DB 'Track 79 side 1 Write OK',0ah,0dh,24h
DISP800W DB 'Track 80 side 0 Write OK',0ah,0dh,24h
DISP801W DB 'Track 80 side 1 Write OK',0ah,0dh,24h
ERR DB 00;格式化或写盘成功标志01成功00失败
DATA_CX DW 0000H;格式化磁盘磁道号临时存区CX
DATA_BX DW 0000H;
DATA_FILE DB 8192 DUP(0)
DATA ENDS
CODE SEGMENT PARA PUBLIC 'CODE'
ASSUME CS:CODE,DS:DATA,SS:STACK
MAIN PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV ES,AX
LEA DX,DISP3
MOV AH,09H
INT 21H
LEA DX,DISP4
INT 21H
LEA DX,DISP6
INT 21H
MOV AH,0
INT 16H
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,04
MOV ES:[BX+3],AL;扇区大小
MOV AL,05;每道格式化扇区数
MOV ES:[BX+4],AL
MOV AL,54H;扇区间隙正常为54h
MOV ES:[BX+7],AL
MOV AL,06fH;充填字节,正常为F6H
MOV ES:[BX+8],AL
POP ES
MOV AX,4600H;开始格式化70道0面
LEA BX,DATA_CX
MOV ES:[BX],AX
MOV DX,0;0面
LEA AX,PA70_0
LEA BX,DATA_BX
MOV ES:[BX],AX
CALL FORMATS
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ R700
JMP FAIL
R700: LEA DX,DISP700
MOV AH,09H
INT 21H
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,04
MOV ES:[BX+3],AL;扇区大小
MOV AL,05;每道格式化扇区数
MOV ES:[BX+4],AL
MOV AL,54H;扇区间隙正常为54h
MOV ES:[BX+7],AL
MOV AL,06fH;充填字节,正常为F6H
MOV ES:[BX+8],AL
POP ES
MOV AX,4600H;开始格式化70道1面
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0100h;1面
LEA AX,PA70_1
LEA BX,DATA_BX
MOV [BX],AX
CALL FORMATS
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ R701
JMP FAIL
R701:LEA DX,DISP701
MOV AH,09H
INT 21H
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,04
MOV ES:[BX+3],AL;扇区大小
MOV AL,02;每道格式化扇区数
MOV ES:[BX+4],AL
MOV AL,54H;扇区间隙正常为54h
MOV ES:[BX+7],AL
MOV AL,06fH;充填字节,正常为F6H
MOV ES:[BX+8],AL
POP ES
MOV AX,4700H;开始格式化71道0面
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0;0面
LEA AX,PA71_0
LEA BX,DATA_BX
MOV [BX],AX
CALL FORMATS
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ R710
JMP FAIL
R710:LEA DX,DISP710
MOV AH,09H
INT 21H
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,04
MOV ES:[BX+3],AL;扇区大小
MOV AL,02;每道格式化扇区数
MOV ES:[BX+4],AL
MOV AL,54H;扇区间隙正常为54h
MOV ES:[BX+7],AL
MOV AL,06fH;充填字节,正常为F6H
MOV ES:[BX+8],AL
POP ES
MOV AX,4700H;开始格式化71道1面
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0100h;1面
LEA AX,PA71_1
LEA BX,DATA_BX
MOV [BX],AX
CALL FORMATS
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ R711
JMP FAIL
R711:LEA DX,DISP711
MOV AH,09H
INT 21H
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,04
MOV ES:[BX+3],AL;扇区大小
MOV AL,05;每道格式化扇区数
MOV ES:[BX+4],AL
MOV AL,54H;扇区间隙正常为54h
MOV ES:[BX+7],AL
MOV AL,06fH;充填字节,正常为F6H
MOV ES:[BX+8],AL
POP ES
MOV AX,4800H;开始格式化72道0面
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0;0面
LEA AX,PA72_0
LEA BX,DATA_BX
MOV [BX],AX
CALL FORMATS
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ R720
JMP FAIL
R720:LEA DX,DISP720
MOV AH,09H
INT 21H
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,04
MOV ES:[BX+3],AL;扇区大小
MOV AL,02;每道格式化扇区数
MOV ES:[BX+4],AL
MOV AL,54H;扇区间隙正常为54h
MOV ES:[BX+7],AL
MOV AL,06fH;充填字节,正常为F6H
MOV ES:[BX+8],AL
POP ES
MOV AX,4800H;开始格式化72道1面
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0100h;1面
LEA AX,PA72_1
LEA BX,DATA_BX
MOV [BX],AX
CALL FORMATS
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ R721
JMP FAIL
R721:LEA DX,DISP721
MOV AH,09H
INT 21H
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,04
MOV ES:[BX+3],AL;扇区大小
MOV AL,05;每道格式化扇区数
MOV ES:[BX+4],AL
MOV AL,54H;扇区间隙正常为54h
MOV ES:[BX+7],AL
MOV AL,06fH;充填字节,正常为F6H
MOV ES:[BX+8],AL
POP ES
MOV AX,4900H;开始格式化73道0面
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0;0面
LEA AX,PA73_0
LEA BX,DATA_BX
MOV [BX],AX
CALL FORMATS
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ R730
JMP FAIL
R730:LEA DX,DISP730
MOV AH,09H
INT 21H
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,04
MOV ES:[BX+3],AL;扇区大小
MOV AL,02;每道格式化扇区数
MOV ES:[BX+4],AL
MOV AL,54H;扇区间隙正常为54h
MOV ES:[BX+7],AL
MOV AL,06fH;充填字节,正常为F6H
MOV ES:[BX+8],AL
POP ES
MOV AX,4900H;开始格式化73道1面
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0100h;1面
LEA AX,PA73_1
LEA BX,DATA_BX
MOV [BX],AX
CALL FORMATS
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ R731
JMP FAIL
R731:LEA DX,DISP731
MOV AH,09H
INT 21H
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,04
MOV ES:[BX+3],AL;扇区大小
MOV AL,02;每道格式化扇区数
MOV ES:[BX+4],AL
MOV AL,54H;扇区间隙正常为54h
MOV ES:[BX+7],AL
MOV AL,06fH;充填字节,正常为F6H
MOV ES:[BX+8],AL
POP ES
MOV AX,4a00H;开始格式化74道0面
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0;0面
LEA AX,PA74_0
LEA BX,DATA_BX
MOV [BX],AX
CALL FORMATS
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ R740
JMP FAIL
R740:LEA DX,DISP740
MOV AH,09H
INT 21H
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,04
MOV ES:[BX+3],AL;扇区大小
MOV AL,02;每道格式化扇区数
MOV ES:[BX+4],AL
MOV AL,54H;扇区间隙正常为54h
MOV ES:[BX+7],AL
MOV AL,04BH;充填字节,正常为F6H
MOV ES:[BX+8],AL
POP ES
MOV AX,4a00H;开始格式化74道1面
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0100h;1面
LEA AX,PA74_1
LEA BX,DATA_BX
MOV [BX],AX
CALL FORMATS
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ R741
JMP FAIL
R741:LEA DX,DISP741
MOV AH,09H
INT 21H
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,04
MOV ES:[BX+3],AL;扇区大小
MOV AL,02;每道格式化扇区数
MOV ES:[BX+4],AL
MOV AL,54H;扇区间隙正常为54h
MOV ES:[BX+7],AL
MOV AL,06fH;充填字节,正常为F6H
MOV ES:[BX+8],AL
POP ES
MOV AX,4b00H;开始格式化75道0面
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0;0面
LEA AX,PA75_0
LEA BX,DATA_BX
MOV [BX],AX
CALL FORMATS
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ R750
JMP FAIL
R750:LEA DX,DISP750
MOV AH,09H
INT 21H
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,04
MOV ES:[BX+3],AL;扇区大小
MOV AL,02;每道格式化扇区数
MOV ES:[BX+4],AL
MOV AL,54H;扇区间隙正常为54h
MOV ES:[BX+7],AL
MOV AL,06fH;充填字节,正常为F6H
MOV ES:[BX+8],AL
POP ES
MOV AX,4b00H;开始格式化75道1面
LEA BX,DATA_CX
MOV es:[BX],AX
MOV DX,0100h;1面
LEA AX,PA75_1
LEA BX,DATA_BX
MOV [BX],AX
CALL FORMATS
LEA BX,ERR;判断是否出错
MOV AX,es:[BX]
CMP AX,00
JZ R751
JMP FAIL
R751:LEA DX,DISP751
MOV AH,09H
INT 21H
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,04
MOV ES:[BX+3],AL;扇区大小
MOV AL,02;每道格式化扇区数
MOV ES:[BX+4],AL
MOV AL,54H;扇区间隙正常为54h
MOV ES:[BX+7],AL
MOV AL,06fH;充填字节,正常为F6H
MOV ES:[BX+8],AL
POP ES
MOV AX,4c00H;开始格式化76道0面
LEA BX,DATA_CX
MOV es:[BX],AX
MOV DX,0;0面
LEA AX,PA76_0
LEA BX,DATA_BX
MOV es:[BX],AX
CALL FORMATS
LEA BX,ERR;判断是否出错
MOV AX,es:[BX]
CMP AX,00
JZ R760
JMP FAIL
R760:LEA DX,DISP760
MOV AH,09H
INT 21H
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,04
MOV ES:[BX+3],AL;扇区大小
MOV AL,02;每道格式化扇区数
MOV ES:[BX+4],AL
MOV AL,54H;扇区间隙正常为54h
MOV ES:[BX+7],AL
MOV AL,06fH;充填字节,正常为F6H
MOV ES:[BX+8],AL
POP ES
MOV AX,4c00H;开始格式化76道1面
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0100h;1面
LEA AX,PA76_1
LEA BX,DATA_BX
MOV es:[BX],AX
CALL FORMATS
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ R761
JMP FAIL
R761:LEA DX,DISP761
MOV AH,09H
INT 21H
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,04
MOV ES:[BX+3],AL;扇区大小
MOV AL,05;每道格式化扇区数
MOV ES:[BX+4],AL
MOV AL,54H;扇区间隙正常为54h
MOV ES:[BX+7],AL
MOV AL,06fH;充填字节,正常为F6H
MOV ES:[BX+8],AL
POP ES
MOV AX,4d00H;开始格式化77道0面
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0;0面
LEA AX,PA77_0
LEA BX,DATA_BX
MOV [BX],AX
CALL FORMATS
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ R770
JMP FAIL
R770:LEA DX,DISP770
MOV AH,09H
INT 21H
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,04
MOV ES:[BX+3],AL;扇区大小
MOV AL,02;每道格式化扇区数
MOV ES:[BX+4],AL
MOV AL,54H;扇区间隙正常为54h
MOV ES:[BX+7],AL
MOV AL,06fH;充填字节,正常为F6H
MOV ES:[BX+8],AL
POP ES
MOV AX,4d00H;开始格式化77道1面
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0100h;1面
LEA AX,PA77_1
LEA BX,DATA_BX
MOV [BX],AX
CALL FORMATS
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ R771
JMP FAIL
R771:LEA DX,DISP771
MOV AH,09H
INT 21H
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,04
MOV ES:[BX+3],AL;扇区大小
MOV AL,05;每道格式化扇区数
MOV ES:[BX+4],AL
MOV AL,54H;扇区间隙正常为54h
MOV ES:[BX+7],AL
MOV AL,06fH;充填字节,正常为F6H
MOV ES:[BX+8],AL
POP ES
MOV AX,4e00H;开始格式化78道0面
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0;0面
LEA AX,PA78_0
LEA BX,DATA_BX
MOV [BX],AX
CALL FORMATS
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ R780
JMP FAIL
R780:LEA DX,DISP780
MOV AH,09H
INT 21H
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,04
MOV ES:[BX+3],AL;扇区大小
MOV AL,02;每道格式化扇区数
MOV ES:[BX+4],AL
MOV AL,54H;扇区间隙正常为54h
MOV ES:[BX+7],AL
MOV AL,06fH;充填字节,正常为F6H
MOV ES:[BX+8],AL
POP ES
MOV AX,4e00H;开始格式化78道1面
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0100h;1面
LEA AX,PA78_1
LEA BX,DATA_BX
MOV [BX],AX
CALL FORMATS
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ R781
JMP FAIL
R781:LEA DX,DISP781
MOV AH,09H
INT 21H
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,04
MOV ES:[BX+3],AL;扇区大小
MOV AL,02;每道格式化扇区数
MOV ES:[BX+4],AL
MOV AL,54H;扇区间隙正常为54h
MOV ES:[BX+7],AL
MOV AL,06fH;充填字节,正常为F6H
MOV ES:[BX+8],AL
POP ES
MOV AX,4f00H;开始格式化79道0面
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0;0面
LEA AX,PA79_0
LEA BX,DATA_BX
MOV [BX],AX
CALL FORMATS
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ R790
JMP FAIL
R790:LEA DX,DISP790
MOV AH,09H
INT 21H
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,04
MOV ES:[BX+3],AL;扇区大小
MOV AL,05;每道格式化扇区数
MOV ES:[BX+4],AL
MOV AL,54H;扇区间隙正常为54h
MOV ES:[BX+7],AL
MOV AL,06fH;充填字节,正常为F6H
MOV ES:[BX+8],AL
POP ES
MOV AX,4f00H;开始格式化79道1面
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0100h;1面
LEA AX,PA79_1
LEA BX,DATA_BX
MOV [BX],AX
CALL FORMATS
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ R791
JMP FAIL
R791:LEA DX,DISP791;开始格式化80道0面
MOV AH,09H
INT 21H
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,04
MOV ES:[BX+3],AL;扇区大小
MOV AL,05;每道格式化扇区数
MOV ES:[BX+4],AL
MOV AL,54H;扇区间隙正常为54h
MOV ES:[BX+7],AL
MOV AL,06fH;充填字节,正常为F6H
MOV ES:[BX+8],AL
POP ES
MOV AX,5000H;开始格式化80道0面
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0;0面
LEA AX,PA80_0
LEA BX,DATA_BX
MOV [BX],AX
CALL FORMATS
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ R800
JMP FAIL
R800:LEA DX,DISP800
MOV AH,09H
INT 21H
PUSH ES;开始格式化80道1面
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,04
MOV ES:[BX+3],AL;扇区大小
MOV AL,02;每道格式化扇区数
MOV ES:[BX+4],AL
MOV AL,54H;扇区间隙正常为54h
MOV ES:[BX+7],AL
MOV AL,06fH;充填字节,正常为F6H
MOV ES:[BX+8],AL
POP ES
MOV AX,5000H;开始格式化80道1面
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0100h;1面
LEA AX,PA80_1
LEA BX,DATA_BX
MOV [BX],AX
CALL FORMATS
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ R801
JMP FAIL
R801:LEA DX,DISP801
MOV AH,09H
INT 21H
LEA DX,F710;读71道0面44扇区指纹文件
CALL READFILE
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,06
MOV ES:[BX+3],AL;扇区大小
MOV ES:[BX+8],AL
POP ES
MOV AX,472cH;写71道0面44扇区
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0000h;0面
LEA AX,DATA_FILE
LEA BX,DATA_BX
MOV [BX],AX
CALL WRITES
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ W710
JMP FAIL
W710:LEA DX,DISP710W
MOV AH,09H
INT 21H
;读71道1面192扇区指纹文件
LEA DX,F711
CALL READFILE
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,06
MOV ES:[BX+3],AL;扇区大小
MOV ES:[BX+8],AL
POP ES
MOV AX,47c0H;写71道1面192扇区
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0100h;1面
LEA AX,DATA_FILE
LEA BX,DATA_BX
MOV [BX],AX
CALL WRITES
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ W711
JMP FAIL
W711:LEA DX,DISP711W
MOV AH,09H
INT 21H
LEA DX,F721;读72道1面111扇区指纹文件
CALL READFILE
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,06
MOV ES:[BX+3],AL;扇区大小
MOV ES:[BX+8],AL
POP ES
MOV AX,486fH;写72道1面111扇区
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0100h;0面
LEA AX,DATA_FILE
LEA BX,DATA_BX
MOV [BX],AX
CALL WRITES
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ W721
JMP FAIL
W721:LEA DX,DISP721W
MOV AH,09H
INT 21H
LEA DX,F731;读73道1面179扇区指纹文件
CALL READFILE
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,06
MOV ES:[BX+3],AL;扇区大小
MOV ES:[BX+8],AL
POP ES
MOV AX,49b3H;写73道1面179扇区
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0100h;1面
LEA AX,DATA_FILE
LEA BX,DATA_BX
MOV [BX],AX
CALL WRITES
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ W731
JMP FAIL
W731:LEA DX,DISP731W
MOV AH,09H
INT 21H
LEA DX,F740;读74道0面107扇区指纹文件
CALL READFILE
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,06
MOV ES:[BX+3],AL;扇区大小
MOV ES:[BX+8],AL
POP ES
MOV AX,4a6bH;写74道0面107扇区
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0000h;1面
LEA AX,DATA_FILE
LEA BX,DATA_BX
MOV [BX],AX
CALL WRITES
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ W740
JMP FAIL
W740:LEA DX,DISP740W
MOV AH,09H
INT 21H
LEA DX,F741;读74道1面61扇区指纹文件
CALL READFILE
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,06
MOV ES:[BX+3],AL;扇区大小
MOV ES:[BX+8],AL
POP ES
MOV AX,4a3dH;写74道1面61扇区
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0100h;1面
LEA AX,DATA_FILE
LEA BX,DATA_BX
MOV [BX],AX
CALL WRITES
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ W741
JMP FAIL
W741:LEA DX,DISP741W
MOV AH,09H
INT 21H
LEA DX,F750;读75道0面18扇区指纹文件
CALL READFILE
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,06
MOV ES:[BX+3],AL;扇区大小
MOV ES:[BX+8],AL
POP ES
MOV AX,4b12H;写74道0面107扇区
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0000h;1面
LEA AX,DATA_FILE
LEA BX,DATA_BX
MOV [BX],AX
CALL WRITES
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ W750
JMP FAIL
W750:LEA DX,DISP750W
MOV AH,09H
INT 21H
LEA DX,F751;读75道1面86扇区指纹文件
CALL READFILE
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,06
MOV ES:[BX+3],AL;扇区大小
MOV ES:[BX+8],AL
POP ES
MOV AX,4b56H;写75道1面86扇区
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0100h;1面
LEA AX,DATA_FILE
LEA BX,DATA_BX
MOV [BX],AX
CALL WRITES
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ W751
JMP FAIL
W751:LEA DX,DISP751W
MOV AH,09H
INT 21H
LEA DX,F760;读76道0面34扇区指纹文件
CALL READFILE
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,06
MOV ES:[BX+3],AL;扇区大小
MOV ES:[BX+8],AL
POP ES
MOV AX,4c34H;写74道0面107扇区
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0000h;1面
LEA AX,DATA_FILE
LEA BX,DATA_BX
MOV [BX],AX
CALL WRITES
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ W760
JMP FAIL
W760:LEA DX,DISP760W
MOV AH,09H
INT 21H
LEA DX,F761;读76道1面244扇区指纹文件
CALL READFILE
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,06
MOV ES:[BX+3],AL;扇区大小
MOV ES:[BX+8],AL
POP ES
MOV AX,4cf4H;写76道1面244扇区
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0100h;1面
LEA AX,DATA_FILE
LEA BX,DATA_BX
MOV [BX],AX
CALL WRITES
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ W761
JMP FAIL
W761:LEA DX,DISP761W
MOV AH,09H
INT 21H
LEA DX,F771;读77道1面117扇区指纹文件
CALL READFILE
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,06
MOV ES:[BX+3],AL;扇区大小
MOV ES:[BX+8],AL
POP ES
MOV AX,4d75H;写77道1面117扇区
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0100h;1面
LEA AX,DATA_FILE
LEA BX,DATA_BX
MOV [BX],AX
CALL WRITES
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ W771
JMP FAIL
W771:LEA DX,DISP771W
MOV AH,09H
INT 21H
LEA DX,F781;读78道1面119扇区指纹文件
CALL READFILE
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,06
MOV ES:[BX+3],AL;扇区大小
MOV ES:[BX+8],AL
POP ES
MOV AX,4ec7H;写78道1面119扇区
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0100h;1面
LEA AX,DATA_FILE
LEA BX,DATA_BX
MOV [BX],AX
CALL WRITES
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ W781
JMP FAIL
W781:LEA DX,DISP781W
MOV AH,09H
INT 21H
LEA DX,F790;读79道0面100扇区指纹文件
CALL READFILE
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,06
MOV ES:[BX+3],AL;扇区大小
MOV ES:[BX+8],AL
POP ES
MOV AX,4f64H;写70道0面100扇区
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,000h;0面
LEA AX,DATA_FILE
LEA BX,DATA_BX
MOV [BX],AX
CALL WRITES
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ W790
JMP FAIL
W790:LEA DX,DISP790W
MOV AH,09H
INT 21H
LEA DX,F801;读80道1面248扇区指纹文件
CALL READFILE
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H
MOV AL,06
MOV ES:[BX+3],AL;扇区大小
MOV ES:[BX+8],AL
POP ES
MOV AX,50f8H;写80道1面248扇区
LEA BX,DATA_CX
MOV [BX],AX
MOV DX,0100h;1面
LEA AX,DATA_FILE
LEA BX,DATA_BX
MOV [BX],AX
CALL WRITES
LEA BX,ERR;判断是否出错
MOV AX,[BX]
CMP AX,00
JZ W801
JMP FAIL
W801:LEA DX,DISP801W
MOV AH,09H
INT 21H
JMP EXIT
FAIL:LEA DX,DISP1
MOV AH,09H
INT 21H
LEA DX,DISP7
INT 21H
JMP EXIT1
EXIT:LEA DX,DISP2
MOV AH,09H
INT 21H
LEA DX,DISP7
INT 21H
JMP EXIT1
EXIT1:PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H;恢复磁盘参数
MOV AL,02H
MOV ES:[BX+3],AL
MOV AL,12H
MOV ES:[BX+4],AL;
MOV AL,54H
MOV ES:[BX+7],AL
MOV AL,0F6H
MOV ES:[BX+8],AL
POP ES
RET
MAIN ENDP
FORMATS PROC NEAR;格式化特殊磁道
MOV CX,05h
REP01:PUSH CX
LEA BX,DATA_CX;得到磁道号
MOV AX,es:[BX]
MOV CX,AX
LEA BX,DATA_BX;取得磁道格式
MOV AX,ES:[BX]
MOV BX,AX
MOV AX,0501h
INT 13H
JNB RIGHT01;成功转移
POP CX
DEC CX
JZ FAIL01
JMP REP01
FAIL01:LEA BX,ERR;写出错标志
MOV AX,01
MOV [BX],AX
JMP QUIT01
RIGHT01:POP CX
LEA BX,ERR;写入成功标志
MOV AX,00
MOV [BX],AX
QUIT01:RET
FORMATS ENDP
WRITES PROC NEAR;格式化特殊磁道
MOV CX,05h
REP02:PUSH CX
LEA BX,DATA_CX;得到磁道号
MOV AX,es:[BX]
MOV CX,AX
LEA BX,DATA_BX;取得磁道格式
MOV AX,ES:[BX]
MOV BX,AX
MOV AX,0301h
INT 13H
JNB RIGHT02;成功转移
POP CX
DEC CX
JZ FAIL02
JMP REP02
FAIL02:LEA BX,ERR;写出错标志
MOV AX,01
MOV [BX],AX
JMP QUIT02
RIGHT02:POP CX
LEA BX,ERR;写入成功标志
MOV AX,00
MOV [BX],AX
QUIT02:RET
WRITES ENDP
READFILE PROC NEAR
PUSH ES
MOV AH,35H
MOV AL,1EH
INT 21H;置正常磁盘参数
MOV AL,02H
MOV ES:[BX+3],AL
MOV AL,12H
MOV ES:[BX+4],AL;
MOV AL,54H
MOV ES:[BX+7],AL
MOV AL,0F6H
MOV ES:[BX+8],AL
POP ES
mov ax,3d00h ;为读而打开文件
int 21h
jnb read ;成功转
err1:lea dx,READ_ERR
mov ah,9
int 21h
mov ah,4ch
int 21h
read:
mov bx,ax ;bx=文件号
mov cx,8192 ;读入8192字节
lea dx,DATA_FILE ;ds:dx为读入地址
mov ah,3fh
int 21h ;读入文件至data_00,ax为读入字节数
cmp ax,8192
jnz err1
mov ah,3eh
int 21h ;关闭文件
ret
readfile endp
CODE ENDS
END MAIN
特殊指纹文件生成方法
详细信息:
特殊指纹文件生成方法:
用Debug
e0:0525 06
a9000
mov ax,0201
mov bx,100
mov cx,XXXX //XXXX为扇区号
mov dx,DDDD //DDDD 为道号0为0面0100为1面
int 13
int 3
g=9000
r bx:cx
0:2000
N XXXX.fin //指纹文件名
w
相关视频
相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么
热门文章 去除winrar注册框方法
最新文章
比特币病毒怎么破解 比去除winrar注册框方法
华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据
人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程
查看所有0条评论>>