summaryrefslogtreecommitdiff
path: root/v2.0/source/RECMES.ASM
blob: 0723208bf80f584f0605e24b4396e2833a2cbeb2 (plain) (blame)
ofshex dumpascii
0000 54 49 54 4c 45 20 20 20 52 45 43 4f 56 45 52 20 4d 65 73 73 61 67 65 73 0d 0a 46 41 4c 53 45 20 TITLE...RECOVER.Messages..FALSE.
0020 20 20 45 51 55 20 20 20 20 20 30 0d 0a 54 52 55 45 20 20 20 20 45 51 55 20 20 20 20 20 4e 4f 54 ..EQU.....0..TRUE....EQU.....NOT
0040 20 46 41 4c 53 45 0d 0a 0d 0a 0d 0a 62 64 6f 73 20 20 20 20 65 71 75 20 20 20 20 20 32 31 68 0d .FALSE......bdos....equ.....21h.
0060 0a 62 6f 6f 74 20 20 20 20 65 71 75 20 20 20 20 20 32 30 68 0d 0a 61 72 65 61 64 20 20 20 65 71 .boot....equ.....20h..aread...eq
0080 75 20 20 20 20 20 32 35 68 0d 0a 61 77 72 69 74 65 20 20 65 71 75 20 20 20 20 20 32 36 68 0d 0a u.....25h..awrite..equ.....26h..
00a0 0d 0a 0d 0a 2e 78 6c 69 73 74 0d 0a 2e 78 63 72 65 66 0d 0a 20 20 20 20 20 20 20 20 49 4e 43 4c .....xlist...xcref..........INCL
00c0 55 44 45 20 44 4f 53 53 59 4d 2e 41 53 4d 0d 0a 3b 54 68 65 20 44 4f 53 54 3a 20 70 72 65 66 69 UDE.DOSSYM.ASM..;The.DOST:.prefi
00e0 78 20 69 73 20 61 20 44 45 43 20 54 4f 50 53 2f 32 30 20 64 69 72 65 63 74 6f 72 79 20 70 72 65 x.is.a.DEC.TOPS/20.directory.pre
0100 66 69 78 2e 20 52 65 6d 6f 76 65 20 69 74 20 66 6f 72 0d 0a 3b 20 20 20 61 73 73 65 6d 62 6c 79 fix..Remove.it.for..;...assembly
0120 20 69 6e 20 4d 53 2d 44 4f 53 20 61 73 73 65 6d 62 6c 79 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 .in.MS-DOS.assembly.environments
0140 20 75 73 69 6e 67 20 4d 41 53 4d 2e 20 54 68 65 20 44 4f 53 53 59 4d 2e 41 53 4d 0d 0a 3b 20 20 .using.MASM..The.DOSSYM.ASM..;..
0160 20 66 69 6c 65 20 6d 75 73 74 20 65 78 69 73 74 20 74 68 6f 75 67 68 2c 20 69 74 20 69 73 20 69 .file.must.exist.though,.it.is.i
0180 6e 63 6c 75 64 65 64 20 77 69 74 68 20 4f 45 4d 20 64 69 73 74 72 69 62 75 74 69 6f 6e 2e 0d 0a ncluded.with.OEM.distribution...
01a0 2e 63 72 65 66 0d 0a 2e 6c 69 73 74 0d 0a 0d 0a 63 6f 64 65 20 20 20 20 73 65 67 6d 65 6e 74 20 .cref...list....code....segment.
01c0 70 75 62 6c 69 63 0d 0a 63 6f 64 65 20 20 20 20 65 6e 64 73 0d 0a 0d 0a 63 6f 6e 73 74 20 20 20 public..code....ends....const...
01e0 73 65 67 6d 65 6e 74 20 70 75 62 6c 69 63 20 62 79 74 65 0d 0a 63 6f 6e 73 74 20 20 20 65 6e 64 segment.public.byte..const...end
0200 73 0d 0a 0d 0a 64 61 74 61 20 20 20 20 73 65 67 6d 65 6e 74 20 70 75 62 6c 69 63 20 62 79 74 65 s....data....segment.public.byte
0220 0d 0a 20 20 20 20 20 20 20 20 45 58 54 52 4e 20 20 20 66 69 6c 73 69 7a 3a 57 4f 52 44 0d 0a 64 ..........EXTRN...filsiz:WORD..d
0240 61 74 61 20 20 20 20 65 6e 64 73 0d 0a 0d 0a 0d 0a 64 67 20 20 20 20 20 20 67 72 6f 75 70 20 20 ata....ends......dg......group..
0260 20 63 6f 64 65 2c 63 6f 6e 73 74 2c 64 61 74 61 0d 0a 0d 0a 63 72 20 20 20 20 20 20 65 71 75 20 .code,const,data....cr......equ.
0280 20 20 20 20 30 64 68 0d 0a 6c 66 20 20 20 20 20 20 65 71 75 20 20 20 20 20 30 61 68 0d 0a 0d 0a ....0dh..lf......equ.....0ah....
02a0 63 6f 64 65 20 20 20 20 73 65 67 6d 65 6e 74 20 70 75 62 6c 69 63 20 62 79 74 65 0d 0a 20 20 20 code....segment.public.byte.....
02c0 20 20 20 20 20 61 73 73 75 6d 65 20 20 63 73 3a 64 67 2c 64 73 3a 64 67 2c 65 73 3a 64 67 2c 73 .....assume..cs:dg,ds:dg,es:dg,s
02e0 73 3a 64 67 0d 0a 0d 0a 20 20 20 20 20 20 20 20 45 58 54 52 4e 20 20 20 50 43 52 4c 46 3a 4e 45 s:dg............EXTRN...PCRLF:NE
0300 41 52 2c 50 52 49 4e 54 3a 4e 45 41 52 2c 49 4e 54 5f 32 33 3a 4e 45 41 52 2c 43 4f 4e 56 45 52 AR,PRINT:NEAR,INT_23:NEAR,CONVER
0320 54 3a 4e 45 41 52 0d 0a 20 20 20 20 20 20 20 20 50 55 42 4c 49 43 20 20 64 73 6b 77 72 74 2c 64 T:NEAR..........PUBLIC..dskwrt,d
0340 73 6b 72 64 2c 44 53 4b 45 52 52 2c 72 65 70 6f 72 74 0d 0a 0d 0a 68 65 63 6f 64 65 20 20 64 62 skrd,DSKERR,report....hecode..db
0360 20 20 20 20 20 20 30 0d 0a 0d 0a 64 73 6b 77 72 74 3a 20 70 75 73 68 20 20 20 20 61 78 0d 0a 20 ......0....dskwrt:.push....ax...
0380 20 20 20 20 20 20 20 70 75 73 68 20 20 20 20 62 78 0d 0a 20 20 20 20 20 20 20 20 70 75 73 68 20 .......push....bx..........push.
03a0 20 20 20 63 78 0d 0a 20 20 20 20 20 20 20 20 70 75 73 68 20 20 20 20 64 78 0d 0a 20 20 20 20 20 ...cx..........push....dx.......
03c0 20 20 20 69 6e 74 20 20 20 20 20 61 77 72 69 74 65 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 ...int.....awrite..........mov..
03e0 20 20 20 5b 68 65 63 6f 64 65 5d 2c 61 6c 0d 0a 20 20 20 20 20 20 20 20 69 6e 63 20 20 20 20 20 ...[hecode],al..........inc.....
0400 73 70 0d 0a 20 20 20 20 20 20 20 20 69 6e 63 20 20 20 20 20 73 70 20 20 20 20 20 20 3b 63 6c 65 sp..........inc.....sp......;cle
0420 61 6e 20 75 70 20 73 74 61 63 6b 0d 0a 20 20 20 20 20 20 20 20 70 6f 70 20 20 20 20 20 64 78 0d an.up.stack..........pop.....dx.
0440 0a 20 20 20 20 20 20 20 20 70 6f 70 20 20 20 20 20 63 78 0d 0a 20 20 20 20 20 20 20 20 70 6f 70 .........pop.....cx..........pop
0460 20 20 20 20 20 62 78 0d 0a 20 20 20 20 20 20 20 20 70 6f 70 20 20 20 20 20 61 78 0d 0a 20 20 20 .....bx..........pop.....ax.....
0480 20 20 20 20 20 6a 6e 63 20 20 20 20 20 70 72 65 74 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 .....jnc.....pret..........mov..
04a0 20 20 20 73 69 2c 6f 66 66 73 65 74 20 64 67 3a 20 77 72 69 74 69 6e 67 0d 0a 20 20 20 20 20 20 ...si,offset.dg:.writing........
04c0 20 20 63 61 6c 6c 20 20 20 20 64 73 6b 65 72 72 0d 0a 20 20 20 20 20 20 20 20 6a 7a 20 20 20 20 ..call....dskerr..........jz....
04e0 20 20 64 73 6b 77 72 74 0d 0a 20 20 20 20 20 20 20 20 63 6c 63 0d 0a 70 72 65 74 3a 20 20 20 72 ..dskwrt..........clc..pret:...r
0500 65 74 0d 0a 0d 0a 64 73 6b 72 64 3a 20 20 70 75 73 68 20 20 20 20 61 78 0d 0a 20 20 20 20 20 20 et....dskrd:..push....ax........
0520 20 20 70 75 73 68 20 20 20 20 62 78 0d 0a 20 20 20 20 20 20 20 20 70 75 73 68 20 20 20 20 63 78 ..push....bx..........push....cx
0540 0d 0a 20 20 20 20 20 20 20 20 70 75 73 68 20 20 20 20 64 78 0d 0a 20 20 20 20 20 20 20 20 69 6e ..........push....dx..........in
0560 74 20 20 20 20 20 61 72 65 61 64 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 5b 68 65 t.....aread..........mov.....[he
0580 63 6f 64 65 5d 2c 61 6c 0d 0a 20 20 20 20 20 20 20 20 69 6e 63 20 20 20 20 20 73 70 0d 0a 20 20 code],al..........inc.....sp....
05a0 20 20 20 20 20 20 69 6e 63 20 20 20 20 20 73 70 20 20 20 20 20 20 3b 63 6c 65 61 6e 20 75 70 20 ......inc.....sp......;clean.up.
05c0 73 74 61 63 6b 0d 0a 20 20 20 20 20 20 20 20 70 6f 70 20 20 20 20 20 64 78 0d 0a 20 20 20 20 20 stack..........pop.....dx.......
05e0 20 20 20 70 6f 70 20 20 20 20 20 63 78 0d 0a 20 20 20 20 20 20 20 20 70 6f 70 20 20 20 20 20 62 ...pop.....cx..........pop.....b
0600 78 0d 0a 20 20 20 20 20 20 20 20 70 6f 70 20 20 20 20 20 61 78 0d 0a 20 20 20 20 20 20 20 20 6a x..........pop.....ax..........j
0620 6e 63 20 20 20 20 20 70 72 65 74 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 73 69 2c nc.....pret..........mov.....si,
0640 6f 66 66 73 65 74 20 64 67 3a 20 72 65 61 64 69 6e 67 0d 0a 20 20 20 20 20 20 20 20 63 61 6c 6c offset.dg:.reading..........call
0660 20 20 20 20 64 73 6b 65 72 72 0d 0a 20 20 20 20 20 20 20 20 6a 7a 20 20 20 20 20 20 64 73 6b 72 ....dskerr..........jz......dskr
0680 64 0d 0a 20 20 20 20 20 20 20 20 63 6c 63 0d 0a 20 20 20 20 20 20 20 20 72 65 74 0d 0a 0d 0a 44 d..........clc..........ret....D
06a0 53 4b 45 52 52 3a 0d 0a 20 20 20 20 20 20 20 20 50 55 53 48 20 20 20 20 41 58 0d 0a 20 20 20 20 SKERR:..........PUSH....AX......
06c0 20 20 20 20 50 55 53 48 20 20 20 20 42 58 0d 0a 20 20 20 20 20 20 20 20 50 55 53 48 20 20 20 20 ....PUSH....BX..........PUSH....
06e0 43 58 0d 0a 20 20 20 20 20 20 20 20 50 55 53 48 20 20 20 20 44 58 0d 0a 20 20 20 20 20 20 20 20 CX..........PUSH....DX..........
0700 50 55 53 48 20 20 20 20 44 49 0d 0a 20 20 20 20 20 20 20 20 50 55 53 48 20 20 20 20 45 53 0d 0a PUSH....DI..........PUSH....ES..
0720 20 20 20 20 20 20 20 20 43 41 4c 4c 20 20 20 20 50 43 52 4c 46 0d 0a 20 20 20 20 20 20 20 20 4d ........CALL....PCRLF..........M
0740 4f 56 20 20 20 20 20 41 4c 2c 5b 48 45 43 4f 44 45 5d 0d 0a 20 20 20 20 20 20 20 20 43 4d 50 20 OV.....AL,[HECODE]..........CMP.
0760 20 20 20 20 41 4c 2c 31 32 0d 0a 20 20 20 20 20 20 20 20 4a 42 45 20 20 20 20 20 48 41 56 43 4f ....AL,12..........JBE.....HAVCO
0780 44 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 41 4c 2c 31 32 0d 0a 48 41 56 43 4f 44 D..........MOV.....AL,12..HAVCOD
07a0 3a 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 20 20 :..........XOR.....AH,AH........
07c0 20 20 4d 4f 56 20 20 20 20 20 44 49 2c 41 58 0d 0a 20 20 20 20 20 20 20 20 53 48 4c 20 20 20 20 ..MOV.....DI,AX..........SHL....
07e0 20 44 49 2c 31 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 44 58 2c 57 4f 52 44 20 50 .DI,1..........MOV.....DX,WORD.P
0800 54 52 20 5b 44 49 2b 4d 45 53 42 41 53 5d 20 3b 20 47 65 74 20 70 6f 69 6e 74 65 72 20 74 6f 20 TR.[DI+MESBAS].;.Get.pointer.to.
0820 65 72 72 6f 72 20 6d 65 73 73 61 67 65 0d 0a 20 20 20 20 20 20 20 20 43 41 4c 4c 20 20 20 20 50 error.message..........CALL....P
0840 52 49 4e 54 20 20 20 20 20 20 20 20 20 20 3b 20 50 72 69 6e 74 20 65 72 72 6f 72 20 74 79 70 65 RINT..........;.Print.error.type
0860 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 44 58 2c 4f 46 46 53 45 54 20 44 47 3a 45 ..........MOV.....DX,OFFSET.DG:E
0880 52 52 4d 45 53 0d 0a 20 20 20 20 20 20 20 20 43 41 4c 4c 20 20 20 20 50 52 49 4e 54 0d 0a 20 20 RRMES..........CALL....PRINT....
08a0 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 44 58 2c 53 49 0d 0a 20 20 20 20 20 20 20 20 43 41 4c ......MOV.....DX,SI..........CAL
08c0 4c 20 20 20 20 50 52 49 4e 54 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 44 58 2c 4f L....PRINT..........MOV.....DX,O
08e0 46 46 53 45 54 20 44 47 3a 44 52 56 4d 45 53 0d 0a 20 20 20 20 20 20 20 20 43 41 4c 4c 20 20 20 FFSET.DG:DRVMES..........CALL...
0900 20 50 52 49 4e 54 0d 0a 41 53 4b 3a 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 44 58 .PRINT..ASK:..........MOV.....DX
0920 2c 4f 46 46 53 45 54 20 44 47 3a 52 45 51 55 45 53 54 0d 0a 20 20 20 20 20 20 20 20 43 41 4c 4c ,OFFSET.DG:REQUEST..........CALL
0940 20 20 20 20 50 52 49 4e 54 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 41 58 2c 28 53 ....PRINT..........MOV.....AX,(S
0960 54 44 5f 43 4f 4e 5f 49 4e 50 55 54 5f 46 4c 55 53 48 20 53 48 4c 20 38 29 2b 53 54 44 5f 43 4f TD_CON_INPUT_FLUSH.SHL.8)+STD_CO
0980 4e 5f 49 4e 50 55 54 0d 0a 20 20 20 20 20 20 20 20 49 4e 54 20 20 20 20 20 32 31 48 20 20 20 20 N_INPUT..........INT.....21H....
09a0 20 20 20 20 20 20 20 20 20 3b 20 47 65 74 20 72 65 73 70 6f 6e 73 65 0d 0a 20 20 20 20 20 20 20 .........;.Get.response.........
09c0 20 50 55 53 48 20 20 20 20 41 58 0d 0a 20 20 20 20 20 20 20 20 43 41 4c 4c 20 20 20 20 50 43 52 .PUSH....AX..........CALL....PCR
09e0 4c 46 0d 0a 20 20 20 20 20 20 20 20 50 4f 50 20 20 20 20 20 41 58 0d 0a 20 20 20 20 20 20 20 20 LF..........POP.....AX..........
0a00 4f 52 20 20 20 20 20 20 41 4c 2c 32 30 48 20 20 20 20 20 20 20 20 20 20 3b 20 43 6f 6e 76 65 72 OR......AL,20H..........;.Conver
0a20 74 20 74 6f 20 6c 6f 77 65 72 20 63 61 73 65 0d 0a 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 20 t.to.lower.case..........CMP....
0a40 20 41 4c 2c 22 69 22 20 20 20 20 20 20 20 20 20 20 3b 20 49 67 6e 6f 72 65 3f 0d 0a 20 20 20 20 .AL,"i"..........;.Ignore?......
0a60 20 20 20 20 4a 5a 20 20 20 20 20 20 45 45 58 49 54 4e 5a 0d 0a 20 20 20 20 20 20 20 20 43 4d 50 ....JZ......EEXITNZ..........CMP
0a80 20 20 20 20 20 41 4c 2c 22 72 22 20 20 20 20 20 20 20 20 20 20 3b 20 52 65 74 72 79 3f 0d 0a 20 .....AL,"r"..........;.Retry?...
0aa0 20 20 20 20 20 20 20 4a 5a 20 20 20 20 20 20 45 45 58 49 54 0d 0a 20 20 20 20 20 20 20 20 43 4d .......JZ......EEXIT..........CM
0ac0 50 20 20 20 20 20 41 4c 2c 22 61 22 20 20 20 20 20 20 20 20 20 20 3b 20 41 62 6f 72 74 3f 0d 0a P.....AL,"a"..........;.Abort?..
0ae0 20 20 20 20 20 20 20 20 4a 4e 5a 20 20 20 20 20 41 53 4b 0d 0a 20 20 20 20 20 20 20 20 4a 4d 50 ........JNZ.....ASK..........JMP
0b00 20 20 20 20 20 49 4e 54 5f 32 33 0d 0a 0d 0a 45 45 58 49 54 4e 5a 3a 0d 0a 20 20 20 20 20 20 20 .....INT_23....EEXITNZ:.........
0b20 20 4f 52 20 20 20 20 20 20 41 4c 2c 41 4c 20 20 20 20 20 20 20 20 20 20 20 3b 20 52 65 73 65 74 .OR......AL,AL...........;.Reset
0b40 73 20 7a 65 72 6f 20 66 6c 61 67 0d 0a 45 45 58 49 54 3a 0d 0a 20 20 20 20 20 20 20 20 50 4f 50 s.zero.flag..EEXIT:..........POP
0b60 20 20 20 20 20 45 53 0d 0a 20 20 20 20 20 20 20 20 50 4f 50 20 20 20 20 20 44 49 0d 0a 20 20 20 .....ES..........POP.....DI.....
0b80 20 20 20 20 20 50 4f 50 20 20 20 20 20 44 58 0d 0a 20 20 20 20 20 20 20 20 50 4f 50 20 20 20 20 .....POP.....DX..........POP....
0ba0 20 43 58 0d 0a 20 20 20 20 20 20 20 20 50 4f 50 20 20 20 20 20 42 58 0d 0a 20 20 20 20 20 20 20 .CX..........POP.....BX.........
0bc0 20 50 4f 50 20 20 20 20 20 41 58 0d 0a 20 20 20 20 20 20 20 20 52 45 54 0d 0a 0d 0a 3b 2a 2a 2a .POP.....AX..........RET....;***
0be0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ********************************
0c00 2a 2a 2a 2a 2a 2a 2a 0d 0a 3b 20 50 72 69 6e 74 73 20 74 68 65 20 58 58 58 20 6f 66 20 59 59 59 *******..;.Prints.the.XXX.of.YYY
0c20 20 62 79 74 65 73 20 72 65 63 6f 76 65 72 65 64 20 6d 65 73 73 61 67 65 2e 0d 0a 3b 20 54 68 65 .bytes.recovered.message...;.The
0c40 20 58 58 58 20 76 61 6c 75 65 20 69 73 20 61 20 64 77 6f 72 64 20 61 74 20 64 69 2b 31 36 20 6f .XXX.value.is.a.dword.at.di+16.o
0c60 6e 20 65 6e 74 72 79 2e 0d 0a 3b 20 54 68 65 20 59 59 59 20 76 61 6c 75 65 20 69 73 20 61 20 64 n.entry...;.The.YYY.value.is.a.d
0c80 77 6f 72 64 20 28 64 65 63 6c 61 72 65 64 20 61 73 20 61 20 77 6f 72 64 29 20 61 74 20 66 69 6c word.(declared.as.a.word).at.fil
0ca0 73 69 7a 2e 0d 0a 3b 20 4e 6f 74 65 3a 0d 0a 3b 20 20 20 20 20 20 20 49 66 20 69 74 20 69 73 20 siz...;.Note:..;.......If.it.is.
0cc0 64 65 73 69 72 65 64 20 74 6f 20 70 72 69 6e 74 20 61 20 6d 65 73 73 61 67 65 20 62 65 66 6f 72 desired.to.print.a.message.befor
0ce0 65 20 74 68 65 20 66 69 72 73 74 20 6e 75 6d 62 65 72 2c 0d 0a 3b 20 20 20 20 20 20 20 20 20 20 e.the.first.number,..;..........
0d00 70 6f 69 6e 74 20 61 74 20 74 68 65 20 6d 65 73 73 61 67 65 20 77 69 74 68 20 44 58 20 61 6e 64 point.at.the.message.with.DX.and
0d20 20 63 61 6c 6c 20 50 52 49 4e 54 2e 0d 0a 0d 0a 72 65 70 6f 72 74 3a 0d 0a 20 20 20 20 20 20 20 .call.PRINT.....report:.........
0d40 20 6d 6f 76 20 20 20 20 20 73 69 2c 5b 64 69 2b 31 36 5d 20 20 20 20 20 20 3b 47 65 74 20 74 68 .mov.....si,[di+16]......;Get.th
0d60 65 20 58 58 58 20 76 61 6c 75 65 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 64 69 2c e.XXX.value..........mov.....di,
0d80 5b 64 69 2b 31 38 5d 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 62 78 2c 6f 66 66 73 [di+18]..........mov.....bx,offs
0da0 65 74 20 64 67 3a 20 6f 66 6d 73 67 0d 0a 20 20 20 20 20 20 20 20 63 61 6c 6c 20 20 20 20 63 6f et.dg:.ofmsg..........call....co
0dc0 6e 76 65 72 74 20 20 20 20 20 20 20 20 20 3b 50 72 69 6e 74 20 22 58 58 58 20 6f 66 20 22 20 20 nvert.........;Print."XXX.of."..
0de0 28 44 49 3a 53 49 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 6d 65 73 73 61 67 65 0d 0a 20 20 20 20 (DI:SI.followed.by.message......
0e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 20 20 ............................;...
0e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 42 58 29 ...............pointed.to.by.BX)
0e40 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 73 69 2c 66 69 6c 73 69 7a 20 20 20 20 20 ..........mov.....si,filsiz.....
0e60 20 20 3b 47 65 74 20 74 68 65 20 59 59 59 20 76 61 6c 75 65 0d 0a 20 20 20 20 20 20 20 20 6d 6f ..;Get.the.YYY.value..........mo
0e80 76 20 20 20 20 20 64 69 2c 66 69 6c 73 69 7a 2b 32 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 v.....di,filsiz+2..........mov..
0ea0 20 20 20 62 78 2c 6f 66 66 73 65 74 20 64 67 3a 20 65 6e 64 6d 73 67 0d 0a 20 20 20 20 20 20 20 ...bx,offset.dg:.endmsg.........
0ec0 20 63 61 6c 6c 20 20 20 20 63 6f 6e 76 65 72 74 20 20 20 20 20 20 20 20 20 3b 50 72 69 6e 74 20 .call....convert.........;Print.
0ee0 22 59 59 59 20 62 79 74 65 73 20 72 65 63 6f 76 65 72 65 64 20 43 52 20 4c 46 22 0d 0a 20 20 20 "YYY.bytes.recovered.CR.LF".....
0f00 20 20 20 20 20 72 65 74 0d 0a 0d 0a 63 6f 64 65 20 20 20 20 65 6e 64 73 0d 0a 0d 0a 63 6f 6e 73 .....ret....code....ends....cons
0f20 74 20 20 20 73 65 67 6d 65 6e 74 20 70 75 62 6c 69 63 20 62 79 74 65 0d 0a 0d 0a 20 20 20 20 20 t...segment.public.byte.........
0f40 20 20 20 50 55 42 4c 49 43 20 20 42 41 44 56 45 52 2c 61 73 6b 6d 73 67 2c 64 72 76 6c 65 74 2c ...PUBLIC..BADVER,askmsg,drvlet,
0f60 44 52 56 4c 45 54 31 2c 64 69 72 6d 73 67 2c 72 65 63 6d 73 67 5f 70 72 65 0d 0a 20 20 20 20 20 DRVLET1,dirmsg,recmsg_pre.......
0f80 20 20 20 50 55 42 4c 49 43 20 20 63 72 6c 66 2c 64 72 76 65 72 72 2c 62 61 64 64 72 76 2c 6f 70 ...PUBLIC..crlf,drverr,baddrv,op
0fa0 6e 65 72 72 2c 72 65 63 6d 73 67 5f 70 6f 73 74 0d 0a 0d 0a 4d 45 53 42 41 53 20 20 44 57 20 20 nerr,recmsg_post....MESBAS..DW..
0fc0 20 20 20 20 4f 46 46 53 45 54 20 44 47 3a 45 52 52 30 0d 0a 20 20 20 20 20 20 20 20 44 57 20 20 ....OFFSET.DG:ERR0..........DW..
0fe0 20 20 20 20 4f 46 46 53 45 54 20 44 47 3a 45 52 52 31 0d 0a 20 20 20 20 20 20 20 20 44 57 20 20 ....OFFSET.DG:ERR1..........DW..
1000 20 20 20 20 4f 46 46 53 45 54 20 44 47 3a 45 52 52 32 0d 0a 20 20 20 20 20 20 20 20 44 57 20 20 ....OFFSET.DG:ERR2..........DW..
1020 20 20 20 20 4f 46 46 53 45 54 20 44 47 3a 45 52 52 33 0d 0a 20 20 20 20 20 20 20 20 44 57 20 20 ....OFFSET.DG:ERR3..........DW..
1040 20 20 20 20 4f 46 46 53 45 54 20 44 47 3a 45 52 52 34 0d 0a 20 20 20 20 20 20 20 20 44 57 20 20 ....OFFSET.DG:ERR4..........DW..
1060 20 20 20 20 4f 46 46 53 45 54 20 44 47 3a 45 52 52 35 0d 0a 20 20 20 20 20 20 20 20 44 57 20 20 ....OFFSET.DG:ERR5..........DW..
1080 20 20 20 20 4f 46 46 53 45 54 20 44 47 3a 45 52 52 36 0d 0a 20 20 20 20 20 20 20 20 44 57 20 20 ....OFFSET.DG:ERR6..........DW..
10a0 20 20 20 20 4f 46 46 53 45 54 20 44 47 3a 45 52 52 37 0d 0a 20 20 20 20 20 20 20 20 44 57 20 20 ....OFFSET.DG:ERR7..........DW..
10c0 20 20 20 20 4f 46 46 53 45 54 20 44 47 3a 45 52 52 38 0d 0a 20 20 20 20 20 20 20 20 44 57 20 20 ....OFFSET.DG:ERR8..........DW..
10e0 20 20 20 20 4f 46 46 53 45 54 20 44 47 3a 45 52 52 39 0d 0a 20 20 20 20 20 20 20 20 44 57 20 20 ....OFFSET.DG:ERR9..........DW..
1100 20 20 20 20 4f 46 46 53 45 54 20 44 47 3a 45 52 52 31 30 0d 0a 20 20 20 20 20 20 20 20 44 57 20 ....OFFSET.DG:ERR10..........DW.
1120 20 20 20 20 20 4f 46 46 53 45 54 20 44 47 3a 45 52 52 31 31 0d 0a 20 20 20 20 20 20 20 20 44 57 .....OFFSET.DG:ERR11..........DW
1140 20 20 20 20 20 20 4f 46 46 53 45 54 20 44 47 3a 45 52 52 31 32 0d 0a 0d 0a 52 45 41 44 49 4e 47 ......OFFSET.DG:ERR12....READING
1160 20 44 42 20 20 20 20 20 20 22 72 65 61 64 24 22 0d 0a 57 52 49 54 49 4e 47 20 44 42 20 20 20 20 .DB......"read$"..WRITING.DB....
1180 20 20 22 77 72 69 74 24 22 0d 0a 45 52 52 4d 45 53 20 20 44 42 20 20 20 20 20 20 22 20 65 72 72 .."writ$"..ERRMES..DB......".err
11a0 6f 72 20 24 22 0d 0a 44 52 56 4d 45 53 20 20 44 42 20 20 20 20 20 20 22 69 6e 67 20 64 72 69 76 or.$"..DRVMES..DB......"ing.driv
11c0 65 20 22 0d 0a 44 52 56 4c 45 54 31 20 44 42 20 20 20 20 20 20 22 41 22 2c 31 33 2c 31 30 2c 22 e."..DRVLET1.DB......"A",13,10,"
11e0 24 22 0d 0a 52 45 51 55 45 53 54 20 44 42 20 20 20 20 20 20 22 41 62 6f 72 74 2c 20 52 65 74 72 $"..REQUEST.DB......"Abort,.Retr
1200 79 2c 20 49 67 6e 6f 72 65 3f 20 24 22 0d 0a 0d 0a 45 52 52 30 20 20 20 20 44 42 20 20 20 20 20 y,.Ignore?.$"....ERR0....DB.....
1220 20 22 57 72 69 74 65 20 70 72 6f 74 65 63 74 24 22 0d 0a 45 52 52 31 20 20 20 20 44 42 20 20 20 ."Write.protect$"..ERR1....DB...
1240 20 20 20 22 42 61 64 20 75 6e 69 74 24 22 0d 0a 45 52 52 32 20 20 20 20 44 42 20 20 20 20 20 20 ..."Bad.unit$"..ERR2....DB......
1260 22 4e 6f 74 20 72 65 61 64 79 24 22 0d 0a 45 52 52 33 20 20 20 20 44 42 20 20 20 20 20 20 22 42 "Not.ready$"..ERR3....DB......"B
1280 61 64 20 63 6f 6d 6d 61 6e 64 24 22 0d 0a 45 52 52 34 20 20 20 20 44 42 20 20 20 20 20 20 22 44 ad.command$"..ERR4....DB......"D
12a0 61 74 61 24 22 0d 0a 45 52 52 35 20 20 20 20 44 42 20 20 20 20 20 20 22 42 61 64 20 63 61 6c 6c ata$"..ERR5....DB......"Bad.call
12c0 20 66 6f 72 6d 61 74 24 22 0d 0a 45 52 52 36 20 20 20 20 44 42 20 20 20 20 20 20 22 53 65 65 6b .format$"..ERR6....DB......"Seek
12e0 24 22 0d 0a 45 52 52 37 20 20 20 20 44 42 20 20 20 20 20 20 22 4e 6f 6e 2d 44 4f 53 20 64 69 73 $"..ERR7....DB......"Non-DOS.dis
1300 6b 24 22 0d 0a 45 52 52 38 20 20 20 20 44 42 20 20 20 20 20 20 22 53 65 63 74 6f 72 20 6e 6f 74 k$"..ERR8....DB......"Sector.not
1320 20 66 6f 75 6e 64 24 22 0d 0a 45 52 52 39 20 20 20 20 44 42 20 20 20 20 20 20 22 4e 6f 20 70 61 .found$"..ERR9....DB......"No.pa
1340 70 65 72 24 22 0d 0a 45 52 52 31 30 20 20 20 44 42 20 20 20 20 20 20 22 57 72 69 74 65 20 66 61 per$"..ERR10...DB......"Write.fa
1360 75 6c 74 24 22 0d 0a 45 52 52 31 31 20 20 20 44 42 20 20 20 20 20 20 22 52 65 61 64 20 66 61 75 ult$"..ERR11...DB......"Read.fau
1380 6c 74 24 22 0d 0a 45 52 52 31 32 20 20 20 44 42 20 20 20 20 20 20 22 44 69 73 6b 24 22 0d 0a 0d lt$"..ERR12...DB......"Disk$"...
13a0 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .;------------------------------
13c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
13e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 3b 0d 0a 0d 0a 42 41 44 56 45 52 20 20 44 42 20 20 20 20 20 20 22 49 ---------;....BADVER..DB......"I
1400 6e 63 6f 72 72 65 63 74 20 44 4f 53 20 76 65 72 73 69 6f 6e 22 0d 0a 63 72 6c 66 20 20 20 20 64 ncorrect.DOS.version"..crlf....d
1420 62 20 20 20 20 20 20 63 72 2c 6c 66 2c 27 24 27 0d 0a 61 73 6b 6d 73 67 20 20 64 62 20 20 20 20 b......cr,lf,'$'..askmsg..db....
1440 20 20 63 72 2c 6c 66 2c 27 50 72 65 73 73 20 61 6e 79 20 6b 65 79 20 74 6f 20 62 65 67 69 6e 20 ..cr,lf,'Press.any.key.to.begin.
1460 72 65 63 6f 76 65 72 79 20 6f 66 20 74 68 65 27 0d 0a 20 20 20 20 20 20 20 20 64 62 20 20 20 20 recovery.of.the'..........db....
1480 20 20 63 72 2c 6c 66 2c 27 66 69 6c 65 28 73 29 20 6f 6e 20 64 72 69 76 65 20 27 0d 0a 64 72 76 ..cr,lf,'file(s).on.drive.'..drv
14a0 6c 65 74 20 20 64 62 20 20 20 20 20 20 27 41 3a 20 27 2c 63 72 2c 6c 66 2c 63 72 2c 6c 66 2c 27 let..db......'A:.',cr,lf,cr,lf,'
14c0 24 27 0d 0a 64 69 72 6d 73 67 20 20 64 62 20 20 20 20 20 20 63 72 2c 6c 66 2c 27 57 61 72 6e 69 $'..dirmsg..db......cr,lf,'Warni
14e0 6e 67 20 2d 20 64 69 72 65 63 74 6f 72 79 20 66 75 6c 6c 27 2c 63 72 2c 6c 66 2c 27 24 27 0d 0a ng.-.directory.full',cr,lf,'$'..
1500 0d 0a 3b 22 72 65 63 6d 73 67 5f 70 72 65 3c 6e 75 6d 62 65 72 20 6f 66 20 66 69 6c 65 73 20 72 ..;"recmsg_pre<number.of.files.r
1520 65 63 6f 76 65 72 65 64 3e 72 65 63 6d 73 67 5f 70 6f 73 74 22 0d 0a 72 65 63 6d 73 67 5f 70 6f ecovered>recmsg_post"..recmsg_po
1540 73 74 20 20 20 20 20 64 62 20 20 20 20 20 20 27 20 66 69 6c 65 28 73 29 20 72 65 63 6f 76 65 72 st.....db......'.file(s).recover
1560 65 64 27 2c 63 72 2c 6c 66 0d 0a 72 65 63 6d 73 67 5f 70 72 65 20 20 20 20 20 20 64 62 20 20 20 ed',cr,lf..recmsg_pre......db...
1580 20 20 20 27 24 27 0d 0a 0d 0a 6f 66 6d 73 67 20 20 20 64 62 20 20 20 20 20 20 27 20 6f 66 20 24 ...'$'....ofmsg...db......'.of.$
15a0 27 0d 0a 65 6e 64 6d 73 67 20 20 64 62 20 20 20 20 20 20 27 20 62 79 74 65 73 20 72 65 63 6f 76 '..endmsg..db......'.bytes.recov
15c0 65 72 65 64 27 2c 31 33 2c 31 30 2c 22 24 22 0d 0a 0d 0a 64 72 76 65 72 72 20 20 64 62 20 20 20 ered',13,10,"$"....drverr..db...
15e0 20 20 20 27 49 6e 76 61 6c 69 64 20 6e 75 6d 62 65 72 20 6f 66 20 70 61 72 61 6d 65 74 65 72 73 ...'Invalid.number.of.parameters
1600 24 27 0d 0a 62 61 64 64 72 76 20 20 64 62 20 20 20 20 20 20 27 49 6e 76 61 6c 69 64 20 64 72 69 $'..baddrv..db......'Invalid.dri
1620 76 65 20 6f 72 20 66 69 6c 65 20 6e 61 6d 65 24 27 0d 0a 6f 70 6e 65 72 72 20 20 64 62 20 20 20 ve.or.file.name$'..opnerr..db...
1640 20 20 20 27 46 69 6c 65 20 6e 6f 74 20 66 6f 75 6e 64 24 27 0d 0a 0d 0a 0d 0a 63 6f 6e 73 74 20 ...'File.not.found$'......const.
1660 20 20 65 6e 64 73 0d 0a 20 20 20 20 20 20 20 20 65 6e 64 0d 0a 00 00 00 00 00 00 00 00 00 00 00 ..ends..........end.............