72 lines
1.5 KiB
NASM
72 lines
1.5 KiB
NASM
; TITLE MSHEAD.ASM -- MS-DOS DEFINITIONS
|
||
PAGE
|
||
|
||
|
||
; NTDOS.SYS entry point.
|
||
;
|
||
; Modification History
|
||
;
|
||
; sudeepb 06-Mar-1991 Ported for DOSEm.
|
||
|
||
include origin.inc
|
||
|
||
|
||
Break <SEGMENT DECLARATIONS>
|
||
|
||
; The following are all of the segments used. They are declared in the order
|
||
; that they should be placed in the executable
|
||
|
||
;
|
||
; segment ordering for MSDOS
|
||
;
|
||
|
||
include dosseg.inc
|
||
|
||
AsmVar <Installed>
|
||
|
||
|
||
DOSCODE SEGMENT BYTE PUBLIC 'CODE'
|
||
|
||
PUBLIC $STARTCODE
|
||
$STARTCODE LABEL WORD
|
||
|
||
ASSUME CS:DOSCODE,DS:NOTHING,ES:NOTHING,SS:NOTHING
|
||
|
||
; the entry point at initialization time will be to right here.
|
||
; A jump will be made to the initialization code, which is at
|
||
; the end of the code segment. Also, a word here (at offset 3)
|
||
; contains the offset within the DOSCODE segment of the beginning of the
|
||
; DOS code.
|
||
;
|
||
|
||
Extrn DOSINIT:NEAR
|
||
|
||
JMP near ptr DOSINIT
|
||
|
||
; The next word contains the ORG value to which the DOS has been ORGd
|
||
; See origin.inc for description.
|
||
|
||
dw PARASTART ; For BIOS to know the ORG value
|
||
|
||
|
||
; Segment address of BIOS data segment in RAM
|
||
PUBLIC BioDataSeg
|
||
ifndef NEC_98
|
||
BioDataSeg dw 70h ;Bios data segment fixed at 70h
|
||
else ;NEC_98
|
||
BioDataSeg dw 60h ;Bios data segment fixed at 60h
|
||
endif ;NEC_98
|
||
|
||
|
||
;
|
||
; DosDSeg is a data word in the DOSCODE segment that is loaded with
|
||
; the segment address of DOSDATA. This is purely an optimization, that
|
||
; allows getting the DOS data segment without going through the
|
||
; BIOS data segment. It is used by the "getdseg" macro.
|
||
;
|
||
|
||
public DosDSeg
|
||
DosDSeg dw ?
|
||
|
||
DOSCODE ENDS
|
||
|