Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

60 lines
1.4 KiB

; MSBDATA.INC
;
; This file defines some locations in the BIOS data segment that are
; accessed by code outside the BIOS, e.g. by the DOS and by the ROMDOS
; loader.
;
ifndef In_Bios ; if we're actually running in the BIOS,
; ; then our segment is already open and
; ; we'll actually generate code
ifndef NEC_98
Bdata segment at 70h
assume cs:Bdata
org 3 ; fixed location in Bios_Data segment
else ;NEC_98
Bdata segment at 60h
assume cs:Bdata
org 23h ; fixed location in Bios_Data segment
endif ;NEC_98
int_2f = 0 ; define dummy so msbdata will assemble
endif
public dosdatasg
DosDataSg dw 0 ; Let DOS find it's data segment through here
; Note: this value is set by the ROMDOS loader
; to tell where the DOS data and init code
; has been loaded into RAM
; dos's int 2f handler will exit via a jump through here. This is
; how the BIOS hooks int2f
public bios_i2f ; M012
bios_i2f proc far
; jmp int_2f ; assembler won't generate forward
; ; reference to a far label
db 0eah
dd int_2f ; generate manual far jump
bios_i2f endp
public romstartaddr
romstartaddr dw 0 ; The start address for the romfind routines
; is obtained from here (70:A)
; This is a byte used for special key handling in the resident
; console device driver. It must be here so that it can be included
; in the WIN386 instance table (in INC\LMSTUB.ASM).
public altah
altah db 0 ;special key handling
ifndef In_Bios
Bdata ends
endif