老文章档案 · 2003 年

KV3000密钥盘源程序

破解教程 · 经验杂谈 · 2003-09-19 · 作者:小牧童 人气: · 出处:赢政天下整理收藏)

.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 (出处:赢政天下整理收藏)

相关文章:

相关软件:

→ 特别推荐

→ 热点TOP10

我为人人《《==》》人人为我

关于我们 |

帮助(?)

| 广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright © 1999-2003

winzheng.com All Rights Reserved.

繁体版:由华琦数码技术提供

Powered

by:MeSky.Net

2003-2004 年,宽带刚刚普及,下载站的文章区是许多人学电脑的第一课堂。
🕰 → 🤖 从那时到现在

当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。

档案性质声明:本页为赢政天下(1998-2011)老文章的历史档案复原, 内容反映当年发表时的原貌——包括当年的技术表述、软件版本与观点,部分方法在今天已不适用或不合规,仅作互联网历史记录与研究用途, 不提供任何形式的下载。原始数据经由公共网络存档(Internet Archive)复原。发现问题请联系我们
← 返回老文章档案 · 软件史档案馆 · 赢政天下站史