summaryrefslogtreecommitdiff
path: root/v2.0/source/GENFOR.ASM
blob: a10859302d39008fa145bd09978a4650f065a2e9 (plain) (blame)
ofshex dumpascii
0000 3b 20 47 65 6e 65 72 69 63 20 46 4f 52 4d 41 54 20 6d 6f 64 75 6c 65 20 66 6f 72 20 61 6e 79 20 ;.Generic.FORMAT.module.for.any.
0020 6d 73 2d 64 6f 73 20 64 69 73 6b 20 65 72 61 73 65 73 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 ms-dos.disk.erases.the.directory
0040 2c 0d 0a 3b 20 7a 65 72 6f 73 20 46 41 54 2c 20 61 6e 64 20 6d 61 72 6b 73 20 62 61 64 20 73 65 ,..;.zeros.FAT,.and.marks.bad.se
0060 63 74 6f 72 73 0d 0a 0d 0a 20 20 20 20 20 20 20 20 49 4e 43 4c 55 44 45 20 44 4f 53 54 3a 44 4f ctors............INCLUDE.DOST:DO
0080 53 53 59 4d 2e 41 53 4d 0d 0a 0d 0a 43 4f 44 45 20 20 20 20 53 45 47 4d 45 4e 54 20 50 55 42 4c SSYM.ASM....CODE....SEGMENT.PUBL
00a0 49 43 20 27 43 4f 44 45 27 0d 0a 0d 0a 20 20 20 20 20 20 20 20 41 53 53 55 4d 45 20 20 43 53 3a IC.'CODE'............ASSUME..CS:
00c0 43 4f 44 45 2c 44 53 3a 43 4f 44 45 2c 45 53 3a 43 4f 44 45 0d 0a 0d 0a 20 20 20 20 20 20 20 20 CODE,DS:CODE,ES:CODE............
00e0 50 55 42 4c 49 43 20 20 46 41 54 49 44 2c 53 54 41 52 54 53 45 43 54 4f 52 2c 53 57 49 54 43 48 PUBLIC..FATID,STARTSECTOR,SWITCH
0100 4c 49 53 54 2c 46 52 45 45 53 50 41 43 45 2c 46 41 54 53 50 41 43 45 0d 0a 20 20 20 20 20 20 20 LIST,FREESPACE,FATSPACE.........
0120 20 50 55 42 4c 49 43 20 20 49 4e 49 54 2c 44 49 53 4b 46 4f 52 4d 41 54 2c 42 41 44 53 45 43 54 .PUBLIC..INIT,DISKFORMAT,BADSECT
0140 4f 52 2c 44 4f 4e 45 2c 57 52 54 46 41 54 2c 48 41 52 44 46 4c 41 47 0d 0a 20 20 20 20 20 20 20 OR,DONE,WRTFAT,HARDFLAG.........
0160 20 45 58 54 52 4e 20 20 20 53 57 49 54 43 48 4d 41 50 3a 57 4f 52 44 2c 44 52 49 56 45 3a 42 59 .EXTRN...SWITCHMAP:WORD,DRIVE:BY
0180 54 45 0d 0a 0d 0a 57 52 54 46 41 54 3a 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 41 TE....WRTFAT:..........MOV.....A
01a0 48 2c 47 45 54 5f 44 50 42 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 44 4c 2c 5b 44 H,GET_DPB..........MOV.....DL,[D
01c0 52 49 56 45 5d 0d 0a 20 20 20 20 20 20 20 20 49 4e 43 20 20 20 20 20 44 4c 20 20 20 20 20 20 20 RIVE]..........INC.....DL.......
01e0 20 20 20 20 20 20 20 3b 41 20 3d 20 31 0d 0a 20 20 20 20 20 20 20 20 49 4e 54 20 20 20 20 20 32 .......;A.=.1..........INT.....2
0200 31 48 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 46 4f 52 43 45 20 41 20 46 41 54 52 45 41 44 0d 1H.............;FORCE.A.FATREAD.
0220 0a 20 20 20 20 20 20 20 20 50 55 53 48 20 20 20 20 43 53 0d 0a 20 20 20 20 20 20 20 20 50 4f 50 .........PUSH....CS..........POP
0240 20 20 20 20 20 44 53 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 41 4c 2c 5b 46 41 54 .....DS..........MOV.....AL,[FAT
0260 43 4e 54 5d 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 5b 43 55 52 43 4e 54 5d 2c 41 CNT]..........MOV.....[CURCNT],A
0280 4c 20 20 20 20 20 3b 53 45 54 20 55 50 20 46 41 54 20 43 4f 55 4e 54 0d 0a 20 20 20 20 20 20 20 L.....;SET.UP.FAT.COUNT.........
02a0 20 4d 4f 56 20 20 20 20 20 41 58 2c 5b 46 41 54 53 54 41 52 54 5d 0d 0a 20 20 20 20 20 20 20 20 .MOV.....AX,[FATSTART]..........
02c0 4d 4f 56 20 20 20 20 20 5b 43 4f 55 4e 54 5d 2c 41 58 0d 0a 46 41 54 4c 4f 4f 50 3a 0d 0a 20 20 MOV.....[COUNT],AX..FATLOOP:....
02e0 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 41 4c 2c 42 59 54 45 20 50 54 52 20 44 52 49 56 45 0d ......MOV.....AL,BYTE.PTR.DRIVE.
0300 0a 20 20 20 20 20 20 20 20 43 42 57 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 43 58 .........CBW..........MOV.....CX
0320 2c 5b 46 41 54 53 49 5a 45 5d 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 44 58 2c 5b ,[FATSIZE]..........MOV.....DX,[
0340 43 4f 55 4e 54 5d 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 42 58 2c 5b 46 41 54 53 COUNT]..........MOV.....BX,[FATS
0360 50 41 43 45 5d 0d 0a 20 20 20 20 20 20 20 20 49 4e 54 20 20 20 20 20 32 36 48 0d 0a 20 20 20 20 PACE]..........INT.....26H......
0380 20 20 20 20 50 4f 50 20 20 20 20 20 41 58 0d 0a 20 20 20 20 20 20 20 20 4a 43 20 20 20 20 20 20 ....POP.....AX..........JC......
03a0 47 4f 52 45 54 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 43 58 2c 5b 46 41 54 53 49 GORET..........MOV.....CX,[FATSI
03c0 5a 45 5d 0d 0a 20 20 20 20 20 20 20 20 41 44 44 20 20 20 20 20 5b 43 4f 55 4e 54 5d 2c 43 58 0d ZE]..........ADD.....[COUNT],CX.
03e0 0a 20 20 20 20 20 20 20 20 44 45 43 20 20 20 20 20 42 59 54 45 20 50 54 52 20 5b 43 55 52 43 4e .........DEC.....BYTE.PTR.[CURCN
0400 54 5d 0d 0a 20 20 20 20 20 20 20 20 4a 4e 5a 20 20 20 20 20 46 41 54 4c 4f 4f 50 0d 0a 20 20 20 T]..........JNZ.....FATLOOP.....
0420 20 20 20 20 20 43 4c 43 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....CLC........................
0440 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 47 6f 6f 64 20 72 65 74 75 72 6e 0d 0a 47 4f 52 45 54 .............;Good.return..GORET
0460 3a 0d 0a 20 20 20 20 20 20 20 20 52 45 54 0d 0a 0d 0a 46 41 54 53 49 5a 45 20 20 20 20 20 44 57 :..........RET....FATSIZE.....DW
0480 20 20 3f 0d 0a 46 41 54 53 54 41 52 54 20 20 20 20 44 57 20 20 3f 0d 0a 43 4f 55 4e 54 20 20 20 ..?..FATSTART....DW..?..COUNT...
04a0 20 20 20 20 44 57 20 20 3f 0d 0a 53 54 41 52 54 53 45 43 54 4f 52 20 44 57 20 20 3f 0d 0a 53 50 ....DW..?..STARTSECTOR.DW..?..SP
04c0 43 20 20 20 20 20 20 20 20 20 44 42 20 20 3f 20 20 20 20 20 20 20 20 20 20 20 20 3b 53 45 43 54 C.........DB..?............;SECT
04e0 4f 52 53 20 50 45 52 20 43 4c 55 53 54 45 52 0d 0a 46 41 54 43 4e 54 20 20 20 20 20 20 44 42 20 ORS.PER.CLUSTER..FATCNT......DB.
0500 20 3f 20 20 20 20 20 20 20 20 20 20 20 20 3b 4e 55 4d 42 45 52 20 4f 46 20 46 41 54 53 20 4f 4e .?............;NUMBER.OF.FATS.ON
0520 20 54 48 49 53 20 44 52 49 56 45 0d 0a 43 55 52 43 4e 54 20 20 20 20 20 20 44 42 20 20 3f 0d 0a .THIS.DRIVE..CURCNT......DB..?..
0540 44 53 4b 53 49 5a 45 20 20 20 20 20 44 57 20 20 3f 20 20 20 20 20 20 20 20 20 20 20 20 3b 4e 55 DSKSIZE.....DW..?............;NU
0560 4d 42 45 52 20 4f 46 20 53 45 43 54 4f 52 53 20 4f 4e 20 54 48 45 20 44 52 49 56 45 0d 0a 53 54 MBER.OF.SECTORS.ON.THE.DRIVE..ST
0580 41 52 54 20 20 20 20 20 20 20 44 57 20 20 30 20 20 20 20 20 20 20 20 20 20 20 20 3b 43 55 52 52 ART.......DW..0............;CURR
05a0 45 4e 54 20 54 45 53 54 20 53 45 43 54 4f 52 0d 0a 0d 0a 49 4e 49 54 3a 0d 0a 20 20 20 20 20 20 ENT.TEST.SECTOR....INIT:........
05c0 20 20 4d 4f 56 20 20 20 20 20 41 48 2c 47 45 54 5f 44 50 42 0d 0a 20 20 20 20 20 20 20 20 4d 4f ..MOV.....AH,GET_DPB..........MO
05e0 56 20 20 20 20 20 44 4c 2c 5b 44 52 49 56 45 5d 0d 0a 20 20 20 20 20 20 20 20 49 4e 43 20 20 20 V.....DL,[DRIVE]..........INC...
0600 20 20 44 4c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 41 20 3d 20 31 0d 0a 20 20 20 20 20 20 ..DL..............;A.=.1........
0620 20 20 49 4e 54 20 20 20 20 20 32 31 48 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 46 4f 52 43 45 ..INT.....21H.............;FORCE
0640 20 41 20 46 41 54 52 45 41 44 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 41 4c 2c 5b .A.FATREAD..........MOV.....AL,[
0660 42 58 2b 34 5d 20 20 20 20 20 20 20 3b 53 45 43 54 4f 52 53 20 50 45 52 20 43 4c 55 53 54 45 52 BX+4].......;SECTORS.PER.CLUSTER
0680 20 2d 20 31 0d 0a 20 20 20 20 20 20 20 20 49 4e 43 20 20 20 20 20 41 4c 0d 0a 20 20 20 20 20 20 .-.1..........INC.....AL........
06a0 20 20 4d 4f 56 20 20 20 20 20 43 48 2c 41 4c 20 20 20 20 20 20 20 20 20 20 20 3b 43 48 20 3d 20 ..MOV.....CH,AL...........;CH.=.
06c0 53 45 43 54 4f 52 53 20 50 45 52 20 43 4c 55 53 54 45 52 0d 0a 20 20 20 20 20 20 20 20 43 42 57 SECTORS.PER.CLUSTER..........CBW
06e0 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 42 50 2c 5b 42 58 2b 30 44 48 5d 20 20 20 ..........MOV.....BP,[BX+0DH]...
0700 20 20 3b 4d 41 58 43 4c 55 53 20 2b 20 31 0d 0a 20 20 20 20 20 20 20 20 44 45 43 20 20 20 20 20 ..;MAXCLUS.+.1..........DEC.....
0720 42 50 0d 0a 20 20 20 20 20 20 20 20 4d 55 4c 20 20 20 20 20 42 50 0d 0a 20 20 20 20 20 20 20 20 BP..........MUL.....BP..........
0740 4d 4f 56 20 20 20 20 20 42 50 2c 41 58 0d 0a 20 20 20 20 20 20 20 20 41 44 44 20 20 20 20 20 42 MOV.....BP,AX..........ADD.....B
0760 50 2c 5b 42 58 2b 30 42 48 5d 20 20 20 20 20 3b 42 50 20 3d 20 4e 55 4d 42 45 52 20 4f 46 20 53 P,[BX+0BH].....;BP.=.NUMBER.OF.S
0780 45 43 54 4f 52 53 20 4f 4e 20 54 48 45 20 44 49 53 4b 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 ECTORS.ON.THE.DISK..........MOV.
07a0 20 20 20 20 41 4c 2c 5b 42 58 2b 30 46 48 5d 20 20 20 20 20 3b 47 45 54 20 53 49 5a 45 20 4f 46 ....AL,[BX+0FH].....;GET.SIZE.OF
07c0 20 46 41 54 20 49 4e 20 53 45 43 54 4f 52 53 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 .FAT.IN.SECTORS..........MOV....
07e0 20 41 48 2c 5b 42 58 2b 38 5d 20 20 20 20 20 20 20 3b 47 45 54 20 4e 55 4d 42 45 52 20 4f 46 20 .AH,[BX+8].......;GET.NUMBER.OF.
0800 46 41 54 53 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 44 58 2c 5b 42 58 2b 36 5d 20 FATS..........MOV.....DX,[BX+6].
0820 20 20 20 20 20 20 3b 46 49 52 53 54 20 53 45 43 54 4f 52 20 4f 46 20 46 41 54 0d 0a 20 20 20 20 ......;FIRST.SECTOR.OF.FAT......
0840 20 20 20 20 4d 4f 56 20 20 20 20 20 43 4c 2c 5b 42 58 2b 31 36 48 5d 20 20 20 20 20 3b 46 41 54 ....MOV.....CL,[BX+16H].....;FAT
0860 49 44 20 42 59 54 45 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 53 49 2c 5b 42 58 2b ID.BYTE..........MOV.....SI,[BX+
0880 32 5d 20 20 20 20 20 20 20 3b 53 45 43 54 4f 52 20 53 49 5a 45 0d 0a 20 20 20 20 20 20 20 20 4d 2].......;SECTOR.SIZE..........M
08a0 4f 56 20 20 20 20 20 42 58 2c 5b 42 58 2b 30 42 48 5d 20 20 20 20 20 3b 46 49 52 53 54 20 53 45 OV.....BX,[BX+0BH].....;FIRST.SE
08c0 43 54 4f 52 20 4f 46 20 44 41 54 41 0d 0a 20 20 20 20 20 20 20 20 50 55 53 48 20 20 20 20 43 53 CTOR.OF.DATA..........PUSH....CS
08e0 0d 0a 20 20 20 20 20 20 20 20 50 4f 50 20 20 20 20 20 44 53 0d 0a 20 20 20 20 20 20 20 20 4d 4f ..........POP.....DS..........MO
0900 56 20 20 20 20 20 5b 46 41 54 43 4e 54 5d 2c 41 48 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 V.....[FATCNT],AH..........MOV..
0920 20 20 20 5b 44 53 4b 53 49 5a 45 5d 2c 42 50 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 ...[DSKSIZE],BP..........MOV....
0940 20 5b 53 50 43 5d 2c 43 48 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 5b 46 41 54 53 .[SPC],CH..........MOV.....[FATS
0960 54 41 52 54 5d 2c 44 58 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 5b 45 4e 44 4c 4f TART],DX..........MOV.....[ENDLO
0980 43 5d 2c 43 4c 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 5b 46 41 54 49 44 5d 2c 43 C],CL..........MOV.....[FATID],C
09a0 4c 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 5b 53 54 41 52 54 53 45 43 54 4f 52 5d L..........MOV.....[STARTSECTOR]
09c0 2c 42 58 0d 0a 20 20 20 20 20 20 20 20 58 4f 52 20 20 20 20 20 41 48 2c 41 48 0d 0a 20 20 20 20 ,BX..........XOR.....AH,AH......
09e0 20 20 20 20 4d 4f 56 20 20 20 20 20 5b 46 41 54 53 49 5a 45 5d 2c 41 58 0d 0a 20 20 20 20 20 20 ....MOV.....[FATSIZE],AX........
0a00 20 20 4d 55 4c 20 20 20 20 20 53 49 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 41 58 20 3d 20 ..MUL.....SI..............;AX.=.
0a20 53 49 5a 45 20 4f 46 20 46 41 54 0d 0a 20 20 20 20 20 20 20 20 41 44 44 20 20 20 20 20 5b 46 52 SIZE.OF.FAT..........ADD.....[FR
0a40 45 45 53 50 41 43 45 5d 2c 41 58 0d 0a 20 20 20 20 20 20 20 20 41 44 44 20 20 20 20 20 5b 42 55 EESPACE],AX..........ADD.....[BU
0a60 46 46 45 52 5d 2c 41 58 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 41 58 2c 42 58 0d FFER],AX..........MOV.....AX,BX.
0a80 0a 20 20 20 20 20 20 20 20 4d 55 4c 20 20 20 20 20 53 49 0d 0a 20 20 20 20 20 20 20 20 41 44 44 .........MUL.....SI..........ADD
0aa0 20 20 20 20 20 5b 46 52 45 45 53 50 41 43 45 5d 2c 41 58 20 20 3b 41 58 20 3d 20 53 49 5a 45 20 .....[FREESPACE],AX..;AX.=.SIZE.
0ac0 4f 46 20 54 45 4d 50 20 42 55 46 46 45 52 0d 0a 44 49 53 4b 46 4f 52 4d 41 54 3a 0d 0a 44 4f 4e OF.TEMP.BUFFER..DISKFORMAT:..DON
0ae0 45 3a 0d 0a 20 20 20 20 20 20 20 20 58 4f 52 20 20 20 20 20 41 58 2c 41 58 0d 0a 20 20 20 20 20 E:..........XOR.....AX,AX.......
0b00 20 20 20 43 4c 43 0d 0a 20 20 20 20 20 20 20 20 52 45 54 0d 0a 0d 0a 42 41 44 53 45 43 54 4f 52 ...CLC..........RET....BADSECTOR
0b20 3a 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 44 58 2c 5b 53 54 41 52 54 5d 0d 0a 20 :..........MOV.....DX,[START]...
0b40 20 20 20 20 20 20 20 43 4d 50 20 20 20 20 20 44 58 2c 5b 44 53 4b 53 49 5a 45 5d 0d 0a 20 20 20 .......CMP.....DX,[DSKSIZE].....
0b60 20 20 20 20 20 4a 41 45 20 20 20 20 20 44 4f 4e 45 0d 0a 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 .....JAE.....DONE............MOV
0b80 20 20 20 20 20 41 4c 2c 5b 44 52 49 56 45 5d 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 .....AL,[DRIVE]..........MOV....
0ba0 20 43 4c 2c 5b 53 50 43 5d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 52 45 41 44 20 .CL,[SPC].................;READ.
0bc0 4f 4e 45 20 41 4c 4c 4f 43 41 54 49 4f 4e 53 20 57 4f 52 54 48 0d 0a 20 20 20 20 20 20 20 20 58 ONE.ALLOCATIONS.WORTH..........X
0be0 4f 52 20 20 20 20 20 43 48 2c 43 48 0d 0a 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 20 20 42 59 OR.....CH,CH..........CMP.....BY
0c00 54 45 20 50 54 52 20 5b 46 49 52 53 54 46 4c 41 47 5d 2c 30 0d 0a 20 20 20 20 20 20 20 20 4a 5a TE.PTR.[FIRSTFLAG],0..........JZ
0c20 20 20 20 20 20 20 53 45 54 42 58 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 43 58 2c ......SETBX..........MOV.....CX,
0c40 5b 53 54 41 52 54 53 45 43 54 4f 52 5d 20 20 20 20 20 20 20 20 20 3b 46 49 52 53 54 20 54 49 4d [STARTSECTOR].........;FIRST.TIM
0c60 45 20 54 48 52 4f 55 47 48 20 52 45 41 44 20 53 59 53 54 45 4d 20 41 52 45 41 0d 0a 20 20 20 20 E.THROUGH.READ.SYSTEM.AREA......
0c80 20 20 20 20 4d 4f 56 20 20 20 20 20 42 59 54 45 20 50 54 52 20 5b 46 49 52 53 54 46 4c 41 47 5d ....MOV.....BYTE.PTR.[FIRSTFLAG]
0ca0 2c 30 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 44 58 2c 5b 53 54 41 52 54 5d 0d 0a ,0..........MOV.....DX,[START]..
0cc0 53 45 54 42 58 3a 20 20 4d 4f 56 20 20 20 20 20 42 58 2c 5b 42 55 46 46 45 52 5d 0d 0a 20 20 20 SETBX:..MOV.....BX,[BUFFER].....
0ce0 20 20 20 20 20 50 55 53 48 20 20 20 20 43 58 0d 0a 20 20 20 20 20 20 20 20 49 4e 54 20 20 20 20 .....PUSH....CX..........INT....
0d00 20 32 35 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 54 52 59 20 54 4f .25H.....................;TRY.TO
0d20 20 52 45 41 44 0d 0a 20 20 20 20 20 20 20 20 50 4f 50 20 20 20 20 20 41 58 20 20 20 20 20 20 20 .READ..........POP.....AX.......
0d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 43 4c 45 41 4e 20 55 50 20 53 54 41 43 4b 0d 0a ...............;CLEAN.UP.STACK..
0d60 20 20 20 20 20 20 20 20 50 4f 50 20 20 20 20 20 43 58 0d 0a 20 20 20 20 20 20 20 20 4a 43 20 20 ........POP.....CX..........JC..
0d80 20 20 20 20 47 4f 54 42 41 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 4b 45 45 ....GOTBAD..................;KEE
0da0 50 20 4c 4f 4f 4b 49 4e 47 20 46 4f 52 20 42 41 44 53 45 43 54 4f 52 53 0d 0a 20 20 20 20 20 20 P.LOOKING.FOR.BADSECTORS........
0dc0 20 20 41 44 44 20 20 20 20 20 5b 53 54 41 52 54 5d 2c 43 58 0d 0a 20 20 20 20 20 20 20 20 4a 4d ..ADD.....[START],CX..........JM
0de0 50 20 20 20 20 20 42 41 44 53 45 43 54 4f 52 0d 0a 0d 0a 47 4f 54 42 41 44 3a 0d 0a 20 20 20 20 P.....BADSECTOR....GOTBAD:......
0e00 20 20 20 20 4d 4f 56 20 20 20 20 20 41 58 2c 43 58 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 ....MOV.....AX,CX..........MOV..
0e20 20 20 20 42 58 2c 5b 53 54 41 52 54 5d 0d 0a 20 20 20 20 20 20 20 20 41 44 44 20 20 20 20 20 5b ...BX,[START]..........ADD.....[
0e40 53 54 41 52 54 5d 2c 41 58 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 53 45 54 20 55 50 20 46 START],AX..............;SET.UP.F
0e60 4f 52 20 4e 45 58 54 20 43 41 4c 4c 0d 0a 20 20 20 20 20 20 20 20 43 4c 43 0d 0a 20 20 20 20 20 OR.NEXT.CALL..........CLC.......
0e80 20 20 20 52 45 54 0d 0a 0d 0a 46 49 52 53 54 46 4c 41 47 20 20 20 44 42 20 20 31 20 20 20 20 20 ...RET....FIRSTFLAG...DB..1.....
0ea0 20 20 20 20 20 20 20 20 20 20 3b 31 20 3d 20 46 49 52 53 54 20 43 41 4c 4c 20 54 4f 20 42 41 44 ..........;1.=.FIRST.CALL.TO.BAD
0ec0 53 45 43 54 4f 52 0d 0a 48 41 52 44 46 4c 41 47 20 20 20 20 44 42 20 20 31 0d 0a 46 41 54 49 44 SECTOR..HARDFLAG....DB..1..FATID
0ee0 20 20 20 20 20 20 20 44 42 20 20 30 46 45 48 0d 0a 53 57 49 54 43 48 4c 49 53 54 20 20 44 42 20 .......DB..0FEH..SWITCHLIST..DB.
0f00 20 33 2c 22 4f 56 53 22 0d 0a 42 55 46 46 45 52 20 20 20 20 20 20 44 57 20 20 45 4e 44 4c 4f 43 .3,"OVS"..BUFFER......DW..ENDLOC
0f20 0d 0a 46 52 45 45 53 50 41 43 45 20 20 20 44 57 20 20 45 4e 44 4c 4f 43 0d 0a 46 41 54 53 50 41 ..FREESPACE...DW..ENDLOC..FATSPA
0f40 43 45 20 20 20 20 44 57 20 20 45 4e 44 4c 4f 43 0d 0a 45 4e 44 4c 4f 43 20 20 20 20 20 20 4c 41 CE....DW..ENDLOC..ENDLOC......LA
0f60 42 45 4c 20 20 20 42 59 54 45 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 42 20 20 20 20 20 20 BEL...BYTE..............DB......
0f80 30 46 45 48 2c 30 46 46 48 2c 30 46 46 48 0d 0a 0d 0a 43 4f 44 45 20 20 20 20 45 4e 44 53 0d 0a 0FEH,0FFH,0FFH....CODE....ENDS..
0fa0 20 20 20 20 20 20 20 20 45 4e 44 0d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........END.....................
0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................