The  Boot Sector   of
IBM® Personal Computer™ DOS
Version 1.10 (1982)


Copyright © 2005 by Daniel B. Sedory

NOT to be reproduced in any form without Permission of the Author !

 

See our Tech Notes on the difficulty of working with versions 1.10 and 1.00 of IBM®'s Personal Computer™ DOS.

Unlike later versions of DOS, 1.10 (and 1.00) never contained a BPB (though it appears to have a pre-cursor for one) nor what has become the standard Boot Signature (AA55h) at the end of almost every other Boot sector. The differences mean that most utility programs and all the other versions of DOS and any Windows® Operating Systems will consider these diskettes to be incorrectly formatted!

A Disk Editor View of the Boot Sector

Absolute Sector 0 (Track 0, Side 0, Sector 1)
       0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
0000  EB 27 90 08 00 14 00 00 00 00 00 00 00 00 00 00  .'..............
0010  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
0020  00 00 00 00 00 00 00 CD 19 FA 8C C8 8E D8 33 D2  ..............3.
0030  8E D2 BC 00 7C FB B8 60 00 8E D8 8E C0 33 D2 8B  ....|..`.....3..
0040  C2 CD 13 72 69 E8 85 00 72 DD 2E 83 3E 03 7C 08  ...ri...r...>.|.
0050  74 06 2E C6 06 64 7D 02 BB 00 00 2E 8B 0E 03 7C  t....d}........|
0060  51 B0 09 2A C1 B4 00 8B F0 56 33 D2 33 C0 8A C5  Q..*.....V3.3...
0070  2E F6 36 64 7D 8A E8 8A F4 8B C6 B4 02 CD 13 72  ..6d}..........r
0080  2D 5E 59 2E 29 36 05 7C 74 1F 8B C6 2E F7 26 65  -^Y.)6.|t.....&e
0090  7D 03 D8 FE C5 B1 01 51 BE 08 00 2E 3B 36 05 7C  }......Q....;6.|
00A0  7C 05 2E 8B 36 05 7C EB C0 EA 00 00 60 00 BE 67  |...6.|.....`..g
00B0  7D E8 02 00 EB FE 32 FF 2E AC 24 7F 74 0B 56 B4  }.....2...$.t.V.
00C0  0E BB 07 00 CD 10 5E EB EF C3 E9 33 FF BB 00 00  ......^....3....
00D0  B9 04 00 B8 01 02 CD 13 1E 72 33 8C C8 8E D8 BF  .........r3.....
00E0  00 00 B9 0B 00 26 80 0D 20 26 80 4D 20 20 47 E2  .....&.. &.M  G.
00F0  F4 BF 00 00 BE 8B 7D B9 0B 00 FC F3 A6 75 0F BF  ......}......u..
0100  20 00 BE 97 7D B9 0B 00 F3 A6 75 02 1F C3 BE 1B   ...}.....u.....
0110  7D E8 A2 FF B4 00 CD 16 1F F9 C3 0D 0A 4E 6F 6E  }............Non
0120  2D 53 79 73 74 65 6D 20 64 69 73 6B 20 6F 72 20  -System disk or 
0130  64 69 73 6B 20 65 72 72 6F 72 0D 0A 52 65 70 6C  disk error..Repl
0140  61 63 65 20 61 6E 64 20 73 74 72 69 6B 65 20 61  ace and strike a
0150  6E 79 20 6B 65 79 20 77 68 65 6E 20 72 65 61 64  ny key when read
0160  79 0D 0A 00 01 00 02 0D 0A 44 69 73 6B 20 42 6F  y........Disk Bo
0170  6F 74 20 66 61 69 6C 75 72 65 0D 0A 00 4D 69 63  ot failure...Mic
0180  72 6F 73 6F 66 74 2C 49 6E 63 20 69 62 6D 62 69  rosoft,Inc ibmbi
0190  6F 20 20 63 6F 6D 30 69 62 6D 64 6F 73 20 20 63  o  com0ibmdos  c
01A0  6F 6D 30 05 C6 06 77 2F FF 83 7E FC 00 75 0B 80  om0...w/..~..u..
01B0  7E F7 3B 75 05 C6 06 76 2F FF 89 EC 5D CA 04 00  ~.;u...v/...]...
01C0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
01D0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
01E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
01F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
       0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F

 

The phrase you see from offset 017Dh through 018Ah ("Microsoft, Inc ") replaced the name of the Boot Sector's author in the previous version (cf. version 1.00).

The hex bytes shown above in italics DARK RED, appear to never be accessed in any way by the code. After examining and discussing the Boot Record's code with others, it's our opinion that these bytes (offsets 01A3h and 01BEh) are simply junk (or garbage) bytes that should have been zeroed-out  before mass producing the distribution diskette!

 

An Examination of the Assembly Code
for the IBM® DOS 1.10 Boot Sector
as found in Memory during Execution

 
 7C00 EB27          JMP     7C29         ; Jump over reserved data area
 7C02 90            NOP                  ; Do nothing. 
 
 =======================================================================
           Data Locations which Code Execution Jumps Over:
        0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
 7C03           08 00 14 00 00 00 00 00 00 00 00 00 00     .............
 7C10  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
 7C20  00 00 00 00 00 00 00 CD 19                       .........
 =======================================================================

 7C29 FA            CLI                  ; Disable maskable Interrupts
 7C2A 8CC8          MOV     AX,CS
 7C2C 8ED8          MOV     DS,AX
 7C2E 33D2          XOR     DX,DX
 7C30 8ED2          MOV     SS,DX        ; SS -> 0000
 7C32 BC007C        MOV     SP,7C00      ; Stack Pointer at 0000:7C00
 7C35 FB            STI                  ; Enable Interrupts
 7C36 B86000        MOV     AX,0060      ; 0060h -> AX
 7C39 8ED8          MOV     DS,AX        ; 0060h -> DS
 7C3B 8EC0          MOV     ES,AX        ; 0060h -> ES
 7C3D 33D2          XOR     DX,DX
 7C3F 8BC2          MOV     AX,DX        ; Function 00 of INT 13
 7C41 CD13          INT     13           ; Reset Floppy Disk drives; if
                                         ;  CF=1(set) there's an error.
 7C43 7269          JB      7CAE         ; JB -> Drive response failure.
 7C45 E88500        CALL    7CCD
 7C48 72DD          JB      7C27
 7C4A 2E            CS:
 7C4B 833E037C08    CMP     WORD PTR [7C03],+08     ; 
 7C50 7406          JZ      7C58
 7C52 2E            CS:
 7C53 C606647D02    MOV     BYTE PTR [7D64],02
 7C58 BB0000        MOV     BX,0000
 7C5B 2E            CS:
 7C5C 8B0E037C      MOV     CX,[7C03]
 7C60 51            PUSH    CX
 7C61 B009          MOV     AL,09
 7C63 2AC1          SUB     AL,CL
 7C65 B400          MOV     AH,00
 7C67 8BF0          MOV     SI,AX
 7C69 56            PUSH    SI
 7C6A 33D2          XOR     DX,DX
 7C6C 33C0          XOR     AX,AX
 7C6E 8AC5          MOV     AL,CH
 7C70 2E            CS:
 7C71 F636647D      DIV     BYTE PTR [7D64]
 7C75 8AE8          MOV     CH,AL
 7C77 8AF4          MOV     DH,AH
 7C79 8BC6          MOV     AX,SI
 7C7B B402          MOV     AH,02
 7C7D CD13          INT     13

 7C7F 722D          JB      7CAE
 7C81 5E            POP     SI
 7C82 59            POP     CX
 7C83 2E            CS:
 7C84 2936057C      SUB     [7C05],SI
 7C88 741F          JZ      7CA9
 7C8A 8BC6          MOV     AX,SI
 7C8C 2E            CS:
 7C8D F726657D      MUL     WORD PTR [7D65]
 7C91 03D8          ADD     BX,AX
 7C93 FEC5          INC     CH
 7C95 B101          MOV     CL,01
 7C97 51            PUSH    CX
 7C98 BE0800        MOV     SI,0008
 7C9B 2E            CS:
 7C9C 3B36057C      CMP     SI,[7C05]
 7CA0 7C05          JL      7CA7
 7CA2 2E            CS:
 7CA3 8B36057C      MOV     SI,[7C05]
 7CA7 EBC0          JMP     7C69
 7CA9 EA00006000    JMP     0060:0000


 7CAE BE677D        MOV     SI,7D67      ; -> 0D,0A,"Disk Boot failure"
 7CB1 E80200        CALL    7CB6
 7CB4 EBFE          JMP     7CB4         ; Endless Loop!

 7CB6 32FF          XOR     BH,BH
 7CB8 2E            CS:
 7CB9 AC            LODSB
 7CBA 247F          AND     AL,7F
 7CBC 740B          JZ      7CC9         ; Return
 7CBE 56            PUSH    SI
 7CBF B40E          MOV     AH,0E
 7CC1 BB0700        MOV     BX,0007
 7CC4 CD10          INT     10

 7CC6 5E            POP     SI
 7CC7 EBEF          JMP     7CB8
 7CC9 C3            RET
 7CCA E933FF        JMP     7C00


; =================================================================
;       Disk    Read   Subroutine:
; =================================================================
 7CCD BB0000        MOV     BX,0000
 7CD0 B90400        MOV     CX,0004
 7CD3 B80102        MOV     AX,0201
 7CD6 CD13          INT     13

 7CD8 1E            PUSH    DS
 7CD9 7233          JB      7D0E
 7CDB 8CC8          MOV     AX,CS
 7CDD 8ED8          MOV     DS,AX
 7CDF BF0000        MOV     DI,0000
 7CE2 B90B00        MOV     CX,000B
 7CE5 26            ES:
 7CE6 800D20        OR      BYTE PTR [DI],20
 7CE9 26            ES:
 7CEA 804D2020      OR      BYTE PTR [DI+20],20
 7CEE 47            INC     DI
 7CEF E2F4          LOOP    7CE5
 7CF1 BF0000        MOV     DI,0000
 7CF4 BE8B7D        MOV     SI,7D8B      ; -> "ibmbio  com", 30h
 7CF7 B90B00        MOV     CX,000B
 7CFA FC            CLD
 7CFB F3            REPZ
 7CFC A6            CMPSB
 7CFD 750F          JNZ     7D0E
 7CFF BF2000        MOV     DI,0020
 7D02 BE977D        MOV     SI,7D97      ; -> "ibmdos  com", 30h
 7D05 B90B00        MOV     CX,000B
 7D08 F3            REPZ
 7D09 A6            CMPSB
 7D0A 7502          JNZ     7D0E
 7D0C 1F            POP     DS
 7D0D C3            RET

 7D0E BE1B7D        MOV     SI,7D1B      ; -> 0D,0A,"Non-System disk" etc.
 7D11 E8A2FF        CALL    7CB6

 7D14 B400          MOV     AH,00
 7D16 CD16          INT     16

 7D18 1F            POP     DS
 7D19 F9            STC
 7D1A C3            RET


Location of Error Messages in Memory

 
 7D10                                   0D 0A 4E 6F 6E             ..Non
 7D20  2D 53 79 73 74 65 6D 20 64 69 73 6B 20 6F 72 20  -System disk or 
 7D30  64 69 73 6B 20 65 72 72 6F 72 0D 0A 52 65 70 6C  disk error..Repl
 7D40  61 63 65 20 61 6E 64 20 73 74 72 69 6B 65 20 61  ace and strike a
 7D50  6E 79 20 6B 65 79 20 77 68 65 6E 20 72 65 61 64  ny key when read
 7D60  79 0D 0A 00 01 00 02 0D 0A 44 69 73 6B 20 42 6F  y........Disk Bo
 7D70  6F 74 20 66 61 69 6C 75 72 65 0D 0A 00           ot failure...
        0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F

Location of  File Names in Memory

 
 7D7D                                         4D 69 63               Mic
 7D80  72 6F 73 6F 66 74 2C 49 6E 63 20 69 62 6D 62 69  rosoft,Inc ibmbi
 7D90  6F 20 20 63 6F 6D 30 69 62 6D 64 6F 73 20 20 63  o  com0ibmdos  c
 7DA0  6F 6D 30                                          om0
        0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F

 


 

Last Update: 29 July 2005.

You can write to me using this: online reply form. (It opens in a new window.)



IBM PC DOS 1.10 Index

MBR and Boot Records Index

The Starman's Realm Index

 

 

 

 

Hosted by uCoz