windows-nt/Source/XPSP1/NT/base/mvdm/dos/v86/inc/mshead.asm
2020-09-26 16:20:57 +08:00

72 lines
1.5 KiB
NASM
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

; 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