The following are the register values at DOS .COM file startup in the given DOS brands and versions. If you use a different DOS version, any brand, that is not listed here, please run the given program below and email your findings to fys [at] fysnet [the dot thing] net. Thank you.

- All values assume regular execution from the command line with no command line parameters.
- An entry with xxxxh denotes that part of the hex value is undefined (different each time).
- Items with an * in the last column denote that I verified this.
- - All others are from visitors to the page. Thank you.
- Items with an ** denote that it seems to be the same, but don't count on it for sure.
- Please note that the SP value will vary depending on what is pushed before the pusha instruction.

Many thanks goes to Wildman and Daniel Hamilton for many of the versions below.

Brand/Version AX BX CX DX SI DI BP SP Flags *
MS DOS 1.25 (OEM ?) 0000h CS 02CFh 03F6h 0F2Bh 0FC9h 00C6h xxxx 0282h
Toshiba MS DOS 2.11 /R2A20US 0000h 0000h 00FFh CS 0100h 0100h 4322h FFFEh 0746h
MS DOS 3.20, 3.30, & 3.30a 0000h 0000h 00FFh CS 0100h FFFEh 0882h FFFEh xx02h
MS DOS 4.00, 4.01, & 4.01a 0000h 0000h 00FFh CS 0100h FFFEh 091Ch** FFFEh ?
MS DOS 5.0a 0000h 0000h 00FFh CS 0100h FFFEh 091Ch** FFFEh 7202h *
MS DOS 6.00 0000h 0000h 00FFh CS 0100h FFFEh 09xxh FFFCh xx02h
MS DOS 6.22 0000h 0000h 00FFh CS 0100h FFFEh 09xxh FFFEh xx02h
MS DOS 7.10 0000h 0000h 00FFh CS 0100h FFFEh 09xxh FFFCh 7286h
MS Windows 95a & OSR2.1 0000h 0000h 00FFh CS 0100h FFFEh 091Ch** FFFEh ? *
MS Windows 95b & 95c 0000h 0000h 00FFh CS 0100h FFFEh 0912h** FFFEh ? *
MS Windows 98 0000h 0000h 00FFh CS 0100h FFFEh 0912h** FFFEh ?
MS Windows 98 (DOS license only) 0000h 0000h 00FFh CS 0100h FFFEh 0912h** FFFEh 7246h *
MS Windows 98SE 0000h 0000h 00FFh CS 0100h FFFEh 0912h** FFFEh 3202h *
MS Windows 98SE (Boot to DOS) 0000h 0000h 00FFh CS 0100h FFFEh 0912h** FFFEh 7202h *
MS Windows ME 0000h 0000h 00FFh CS 0100h FFFEh 0912h** FFFEh ?
MS Windows NT 4 0000h 0000h 00FFh CS 0100h FFFEh 09xxh FFFEh ?
MS Windows 2000 Pro 0000h 0000h 00FFh CS 0100h FFFEh 09xxh FFFEh ? *
MS Windows XP Home 0000h 0000h 00FFh CS 0100h FFFEh 09xxh FFFEh 3202h *
MS Windows XP Pro 0000h 0000h 00FFh CS 0100h FFFEh 09xxh FFFEh 3202h *
MS Windows Server 2000 0000h 0000h 00FFh CS 0100h FFFEh 09xxh FFFEh 3202h
MS Windows Server 2003 0000h 0000h 00FFh CS 0100h FFFEh 09xxh FFFEh 7202h
MS Windows NT4 Server 0000h 0000h 00FFh CS 0100h FFFEh 09xxh FFFEh 3202h
IBM DOS 1.10 (1981-2) 0000h 0307h 02C1h 03EEh 0F1Bh 0FB9h 00BFh FFFDh ? *
IBM DOS 3.30 (1987) 0000h 0000h 00FFh CS 0100h FFFEh 0882h FFFEh ?
IBM PC DOS 1.00 0000h CS 02B1h 03FBh 08CEh 0960h 0200h FFEBh ?
IBM PC DOS 1.10 0000h CS 02C1h 03EEh 0F1Bh 0FB9h 00BFh FFEDh ?
IBM PC DOS 2.00 & 2.10 0000h 0000h 00FFh CS 0100h 0100h 0000h FFEEh ?
IBM PC DOS 3.00 0000h 0000h 00FFh CS 0100h 0100h 0081h FFEEh ?
IBM PC DOS 3.10, 3.20, & 3.30 0000h 0000h 00FFh CS 0100h FFFEh 0882h FFEEh ?
IBM PC DOS 4.00 & 4.01 0000h 0000h 00FFh CS 0100h FFFEh 091Ch FFFEh ?
IBM PC DOS 5.00, 5.00.1a, & 5.02 0000h 0000h 00FFh CS 0100h FFFEh 091Ch FFFEh ?
IBM PC DOS 6.10 & 6.30 0000h 0000h 00FFh CS 0100h FFFEh 091Ch FFFEh ?
IBM PC DOS 7.00 & 7.00r1 (PC-DOS 2000) 0000h 0000h 00FFh CS 0100h FFFEh 091Ch FFFEh ?
PC-MOS/386 1.02, 3.00, 5.01 0000h 0000h 00A5h 0000h xxxxh 0000h 0000h FFEEh ?
DR DOS 1.0 ? ? ? ? ? ? ? ? ?
DR DOS Plus 1.20 0000h 0000h 0000h 0000h 0000h 0000h 0000h FFECh ?
DR Concurrent DOS 386 2.00 0000h 0000h 0000h 0000h 0000h 0000h 0000h FFFEh ?
DR Concurrent DOS XM 6.00 and 6.21 0000h 0000h 0000h 0000h 0000h 0000h 0000h FFFCh 7202h
DR DOS 3.40 & 3.41 0000h 0000h 0000h 0000h 0000h 0000h 0882h FFFEh ?
DR DOS 5.00 & 5.10 0000h 0000h 0000h 0000h 0000h 0000h 0882h FFFEh ?
DR DOS 6.00 0000h 0000h 0000h 0000h 0000h 0000h 0882h FFFEh ?
DR DOS 6.22 ? ? ? ? ? ? ? ? ?
DR DOS 7.00 0000h 0000h CS CS 0100h FFFEh 0D7Ah FFFEh ?
DR DOS 7.01 (Open Source) 0000h 0000h CS CS 0100h FFFEh 0D8Ch FFFEh ?
DR DOS 7.02 0000h 0000h CS CS 0100h FFFEh 17DAh FFFEh ?
DR DOS 7.03 0000h 0000h CS CS 0100h FFFEh 17D6 FFFEh ?
DR DOS 8.00 0000h 0000h CS CS 0100h FFFEh 17DAh FFFCh 3246h
DR DOS 8.10 0000h 0000h CS CS 0100h FFFEh 0D7Ch FFFCh 3246h
DR Multiuser DOS Gold 7.22 0000h 0000h 0000h 0000h 0000h 0000h 0882h FFFEh ?
Datalight ROM DOS 7.1 r2 0000h 0000h 0000h 0000h 0000h 0000h 0000h FFFEh ? *
FDOS 6.22 0000h 0000h 00FFh CS 0100h FFFCh 0000h FFFCh ?
FreeDOS Alpha 5 & Beta 1-6 FFFFh 0000h 0000h 0000h 0000h 0000h 0000h FFFEh ?
FreeDOS Beta 7 & 8 0000h 0000h 0000h 0000h 0000h 0000h 0000h FFFEh ?
FreeDOS Beta 8 & 9 rev 5 (Kernel 1.1.35) 0000h 0000h 00FFh CS 0100h FFFEh 091Eh FFFCh 3202h
FreeDOS 1.00 and 1.10 0000h 0000h 00FFh CS 0100h FFFEh 091Eh FFFCh 0202h
IMS Multiuser DOS 7.10 0000h 0000h 0000h 0000h 0000h 0000h 0882h FFFEh ?
MoeDOS Beta 1 FFFFh 0000h 0000h 0000h 0000h 0000h 0000h FFFEh ?
PTSDOS 6.70, 7.00 beta, 2000, & 2000 Pro 0000h 0000h xxxxh CS 0100h FFFCh 0000h FFFCh ?
Real32 7.92a 0000h 0000h 0000h 0000h 0000h 0000h 0882h FFFEh ?
RxDOS 7.1.5 & 7.2 beta 0000h 0000h 00A5h 0000h 0000h 0000h 0882h FFFEh ?
Wendin-DOS 2.11 0000h 0000h 0000h D304h 0000h 0000h 0882h FFFCh ?
Any other brand? ? ? ? ? ? ? ? ? ?


Use the following code to display the above registers:
(Or get the .COM file from here).
; Assembled with NBASM
.model tiny
.code
.186
           org  100h
                               ; push all registers
           pushf               ; flags
           pusha               ;  (ax,cx,dx,bx,sp,bp,si,di)
           push cs             ; CS so I can verify DX
           mov  di,offset buff ;
           mov  si,offset msg1 ;
           mov  cx,10          ; 10 registers to print

Loop1:     movsw               ; "print" register name
           mov  al,'='         ;  and =
           stosb               ;
           pop  ax             ; get next register value to print
           mov  bx,04          ; "print" 4 hex digits
PLoop:     rol  ax,04          ;
           push ax             ;
           and  al,0Fh         ;
           daa                 ;
           add  al,0F0h        ;
           adc  al,40h         ;
           stosb               ;
           pop  ax             ;
           dec  bx             ;
           jnz  short PLoop    ;
           mov  ax,0D0Ah       ; "print" CRLF
           stosw               ;
           loop Loop1          ; do CX times

           ; if your current DOS version does not support this function,
           ;  please change to print a valid string given in 'buff'
           mov  al,24h         ; place eol marker
           stosb               ;
           mov  dx,offset buff ; print the buffer
           mov  ah,09          ;
           int  21h            ;

           ; if your current DOS version does not support this function,
           ;  please change to exit to DOS
           mov  ah,4Ch         ;
           int  21h

msg1       db  'CSDISIBPSPBXDXCXAXFL'
buff       dup 100,?

.end