⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 memory.lst

📁 A Programmer s Reference to BIOS, DOS, and Third-Party Calls
💻 LST
📖 第 1 页 / 共 5 页
字号:
MEMORY MAP			Release 61		Last change 16jul00
Copyright (c) 1989-1999,2000 Ralf Brown

--------H-M00000000--------------------------
MEM 0000h:0000h R - INTERRUPT VECTOR TABLE
Size:	1024 BYTEs
Note:	see also the main interrupt list
--------b-M0000031D--------------------------
MEM 0000h:031Dh - 1989 AMI 386sx BIOS - USER-DEFINABLE TYPE 47 HARD DISK PARMS
Size:	16 BYTEs
Note:	these fields are used if the AMI BIOS setup is set to use the top of
	  the interrupt table for the extended BIOS data area
SeeAlso: MEM 0000h:032Dh,INT 41
--------b-M0000032D--------------------------
MEM 0000h:032Dh - 1989 AMI 386sx BIOS - USER-DEFINABLE TYPE 48 HARD DISK PARMS
Size:	16 BYTEs
Note:	these fields are used if the AMI BIOS setup is set to use the top of
	  the interrupt table for the extended BIOS data area
SeeAlso: MEM 0000h:031Dh,INT 46
--------B-M00000400--------------------------
MEM 0000h:0400h - BIOS DATA AREA
Size:	256 BYTEs
Note:	see also the MEM 0040h:xxxxh entries
----------M00000500--------------------------
MEM 0000h:0500h - DATA AREA
Size:	256 BYTEs
--------D-M00000600--------------------------
MEM 0000h:0600h - MS-DOS 1.x LOAD ADDRESS
--------D-M00000700--------------------------
MEM 0000h:0700h - MS-DOS 2+ LOAD ADDRESS
--------S-M00400000--------------------------
MEM 0040h:0000h - BASE I/O ADDRESS OF FIRST SERIAL I/O PORT
Size:	WORD
Notes:	the BIOS sets this word to zero if is unable to find any serial ports
	  at the addresses it is programmed to check at boot
	DOS and BIOS serial device numbers may be redefined by re-assigning
	  these values of the base I/O addresses stored here
	Under DR-OpenDOS 7.02+ this setting can be changed with the
	  undocumented CONFIG.SYS COM1=[port_address|logical_no][,[timeout]]
	  directive, whereby port_address = 200h..3F8h, logical_no = 0 or 1..4,
	  timeout=0..255 (default 1).
SeeAlso: MEM 0040h:0002h,MEM 0040h:0004h,MEM 0040h:0006h,MEM 0040h:0008h
SeeAlso: MEM 0040h:007Ch,INT 14/AH=00h,PORT 03F8h"SERIAL"
--------S-M00400002--------------------------
MEM 0040h:0002h - BASE I/O ADDRESS OF SECOND SERIAL I/O PORT
Size:	WORD
Notes:	the BIOS sets this word to zero if is unable to find more than one
	  serial port at the addresses it is programmed to check at boot
	DOS and BIOS serial device numbers may be redefined by re-assigning
	  these values of the base I/O addresses stored here
	Under DR-OpenDOS 7.02+ this setting can be changed with the
	  undocumented CONFIG.SYS COM2=[port_address|logical_no][,[timeout]]
	  directive, whereby port_address = 200h..3F8h, logical_no = 0 or 1..4,
	  timeout=0..255 (default 1).
SeeAlso: MEM 0040h:0000h,MEM 0040h:0004h,MEM 0040h:0006h,MEM 0040h:000Ah
SeeAlso: MEM 0040h:007Dh,INT 14/AH=00h,PORT 02F8h"SERIAL"
--------S-M00400004--------------------------
MEM 0040h:0004h - BASE I/O ADDRESS OF THIRD SERIAL I/O PORT
Size:	WORD
Notes:	the BIOS sets this word to zero if is unable to find more than two
	  serial ports at the addresses it is programmed to check at boot
	Under DR-OpenDOS 7.02+ this setting can be changed with the
	  undocumented CONFIG.SYS COM3=[port_address|logical_no][,[timeout]]
	  directive, whereby port_address = 200h..3F8h, logical_no = 0 or 1..4,
	  timeout=0..255 (default 1).
SeeAlso: MEM 0040h:0000h,MEM 0040h:0002h,MEM 0040h:0006h,MEM 0040h:000Ch
SeeAlso: MEM 0040h:007Eh,PORT 03E8h"SERIAL"
--------S-M00400006--------------------------
MEM 0040h:0006h - BASE I/O ADDRESS OF FOURTH SERIAL I/O PORT
Size:	WORD
Notes:	the BIOS sets this word to zero if is unable to find more than three
	  serial ports at the addresses it is programmed to check at boot
	Under DR-OpenDOS 7.02+ this setting can be changed with the
	  undocumented CONFIG.SYS COM4=[port_address|logical_no][,[timeout]]
	  directive, whereby port_address = 200h..3F8h, logical_no = 0 or 1..4,
	  timeout=0..255 (default 1).
SeeAlso: MEM 0040h:0000h,MEM 0040h:0002h,MEM 0040h:0004h,MEM 0040h:0008h
SeeAlso: MEM 0040h:007Fh,PORT 02E8h"SERIAL"
--------P-M00400008--------------------------
MEM 0040h:0008h - BASE I/O ADDRESS OF FIRST PARALLEL I/O PORT
Size:	WORD
Notes:	the BIOS POST routine fills in the parallel port address fields in
	  turn as it finds parallel ports.  All fields beyond the last one
	  for which a valid parallel port was found are set to zero.
	the BIOS INT 17 handler uses these fields to address the parallel
	  ports
	Under DR-OpenDOS 7.02+ this setting can be changed with the
	  undocumented CONFIG.SYS LPT1=[port_address|logical_no][,[timeout]]
	  directive, whereby port_address = 200h..3FCh, logical_no = 0 or 1..3,
	  timeout=0..255 (default 20).
SeeAlso: MEM 0040h:0000h,MEM 0040h:000Ah,MEM 0040h:000Ch,INT 17/AH=00h
SeeAlso: PORT 0278h"PRINTER",PORT 03BCh"PRINTER"
--------P-M0040000A--------------------------
MEM 0040h:000Ah - BASE I/O ADDRESS OF SECOND PARALLEL I/O PORT
Size:	WORD
Notes:	zero if fewer than two parallel ports installed
	Under DR-OpenDOS 7.02+ this setting can be changed with the
	  undocumented CONFIG.SYS LPT2=[port_address|logical_no][,[timeout]]
	  directive, whereby port_address = 200h..3FCh, logical_no = 0 or 1..3,
	  timeout=0..255 (default 20).
SeeAlso: MEM 0040h:0002h,MEM 0040h:0008h,MEM 0040h:000Ch,PORT 0278h"PRINTER"
SeeAlso: PORT 0378h"PRINTER",INT 17/AH=00h
--------P-M0040000C--------------------------
MEM 0040h:000Ch - BASE I/O ADDRESS OF THIRD PARALLEL I/O PORT
Size:	WORD
Notes:	zero if fewer than three parallel ports installed
	Under DR-OpenDOS 7.02+ this setting can be changed with the
	  undocumented CONFIG.SYS LPT3=[port_address|logical_no][,[timeout]]
	  directive, whereby port_address = 200h..3FCh, logical_no = 0 or 1..3,
	  timeout=0..255 (default 20).
SeeAlso: MEM 0040h:0004h,MEM 0040h:0008h,MEM 0040h:000Ah,MEM 0040h:000Eh
SeeAlso: PORT 0378h"PRINTER",INT 17/AH=00h
--------P-M0040000E--------------------------
MEM 0040h:000Eh - BASE I/O ADDRESS OF FOURTH PARALLEL I/O PORT (pre-PS/2)
Size:	WORD
Notes:	zero if fewer than four parallel ports installed
	Under DR-OpenDOS 7.02+ this setting can be changed with the
	  undocumented CONFIG.SYS LPT4=(port_address|logical_no)[,[timeout]]
	  directive, where port_address = 200h..3FCh, logical_no = 0 or 1..3,
	  timeout=0..255 (default 20).  To avoid any interference with the PS/2
	  and later interpretation, this will be rejected if this entry does
	  not hold 0, which would indicate it is used for different purposes.
SeeAlso: MEM 0040h:0008h,MEM 0040h:000Ah,MEM 0040h:000Eh"BIOS DATA"
SeeAlso: PORT 0378h"PRINTER",INT 17/AH=00h
--------B-M0040000E--------------------------
MEM 0040h:000Eh - SEGMENT OF EXTENDED BIOS DATA SEGMENT (PS/2, newer BIOSes)
Size:	WORD
SeeAlso: MEM 0040h:000Eh"PARALLEL",INT 15/AH=C1h

Format of Extended BIOS Data Area (IBM):
Offset	Size	Description	(Table M0001)
 00h	BYTE	length of EBDA in kilobytes
 01h 15 BYTEs	reserved
 17h	BYTE	number of entries in POST error log (0-5)
 18h  5 WORDs	POST error log (each word is a POST error number)
 22h	DWORD	Pointing Device Driver entry point
 26h	BYTE	Pointing Device Flags 1 (see #M0002)
 27h	BYTE	Pointing Device Flags 2 (see #M0003)
 28h  8 BYTEs	Pointing Device Auxiliary Device Data
 30h	DWORD	Vector for INT 07h stored here during 80387 interrupt
 34h	DWORD	Vector for INT 01h stored here during INT 07h emulation
 38h	BYTE	Scratchpad for 80287/80387 interrupt code
 39h	WORD	Timer3: Watchdog timer initial count
 3Bh	BYTE	??? seen non-zero on Model 30
 3Ch	BYTE	???
 3Dh 16 BYTEs	Fixed Disk parameter table for drive 0 (for older machines
		  which don't directly support the installed drive)
 4Dh 16 BYTEs	Fixed Disk parameter table for drive 1 (for older machines
		  which don't directly support the installed drive)
 5Dh-67h	???
 68h	BYTE	cache control
		bits 7-2 unused (0)
		bit 1: CPU cache failed test
		bit 0: CPU cache disabled
 69h-6Bh	???
 6Ch	BYTE	Fixed disk: (=FFh on ESDI systems)
		    bits 7-4: Channel number 00-0Fh
		    bits 3-0: DMA arbitration level 00-0Eh
 6Dh	BYTE	???
 6Eh	WORD	current typematic setting (see INT 16/AH=03h)
 70h	BYTE	number of attached hard drives
 71h	BYTE	hard disk 16-bit DMA channel
 72h	BYTE	interrupt status for hard disk controller (1Fh on timeout)
 73h	BYTE	hard disk operation flags
		bit 7: controller issued operation-complete INT 76h
		bit 6: controller has been reset
		bits 5-0: unused (0)
 74h	DWORD	old INT 76h vector
 78h	BYTE	hard disk DMA type
		typically 44h for reads and 4Ch for writes
 79h	BYTE	status of last hard disk operation
 7Ah	BYTE	hard disk timeout counter
 7Bh-7Dh
 7Eh  8 WORDs	storage for hard disk controller status
 8Eh-E6h
 E7h	BYTE	floppy drive type
		bit 7: drive(s) present
		bits 6-2: unused (0)
		bit 1: drive 1 is 5.25" instead of 3.5"
		bit 0: drive 0 is 5.25"
 E8h  4 BYTEs	???
 ECh	BYTE	hard disk parameters flag
		bit 7: parameters loaded into EBDA
		bits 6-0: unused (0)
 EDh	BYTE	???
 EEh	BYTE	CPU family ID (03h = 386, 04h = 486, etc.) (see INT 15/AH=C9h)
 EFh	BYTE	CPU stepping (see INT 15/AH=C9h)
 F0h 39 BYTEs	???
117h	WORD	keyboard ID (see INT 16/AH=0Ah)
		(most commonly 41ABh)
119h	BYTE	???
11Ah	BYTE	non-BIOS INT 18h flag
		bits 7-1: unused (0)
		bit 0: set by BIOS before calling user INT 18h at offset 11Dh
11Bh  2 BYTE	???
11Dh	DWORD	user INT 18h vector if BIOS has re-hooked INT 18h
121h and up:	??? seen non-zero on Model 60
3F0h	BYTE	Fixed disk buffer (???)
SeeAlso: #M0004

Bitfields for Pointing Device Flags 1:
Bit(s)	Description	(Table M0002)
 7	command in progress
 6	resend byte (FAh) received
 5	acknowledge byte (FEh) received
 4	error byte (FCh) received
 3	unexpected value received
 2-0	index count for auxiliary device data at 28h
SeeAlso: #M0001,#M0003

Bitfields for Pointing Device Flags 2:
Bit(s)	Description	(Table M0003)
 7	device driver far call flag
 6-3	reserved
 2-0	package size (number of bytes received) - 1
SeeAlso: #M0001,#M0002

Format of Extended BIOS Data Area (AMI v1.00.12.AX1T):
Offset	Size	Description	(Table M0004)
 00h	BYTE	length of XBDA in kilobytes
 01h 15 BYTEs	reserved
 17h	BYTE	number of entries in POST error log (0-10)
 18h 10 BYTEs	unused???
 22h	DWORD	Pointing Device Driver entry point
 26h	BYTE	Pointing Device Flags 1 (see #M0002)
 27h	BYTE	Pointing Device Flags 2 (see #M0003)
 28h  8 BYTEs	Pointing Device Auxiliary Device Data
 30h 13 BYTEs	???
 3Dh 16 BYTEs	Fixed Disk parameter table for drive 0
 4Dh 16 BYTEs	Fixed Disk parameter table for drive 1
 5Dh 16 BYTEs	parameter table for drive 2???
 6Dh 16 BYTEs	parameter table for drive 3???
 80h 56 BYTEs?	IDE drive 0 manufacturer/model string
 B8h 41 BYTEs	AMIBIOS copyright string
 E1h		unused???
102h	WORD	??? flags
		bit 15: ???
108h	WORD	offset of IntelIDECfgTbl (IDE configuration settings) within
		  segment F000h
10Ah  2 BYTEs	???
10Ch	DWORD	pointer to routine to call for language-specific error messages
110h	WORD	offset in segment F000h of end of currently-loaded optional
		  BIOS subsystems (language, APM, etc.)
112h	WORD	offset in segment F000h of end of area avaiable for loading
		  optional BIOS subsystems
1F0h	BYTE	APM status flags
1F1h  8 BYTEs	APM power-state data for device classes 01h-06h
		bits 0-3: current power state for devices 00h-03h in class
		bits 7-4: current engaged state for devices 00h-03h in class
1F9h  4 BYTEs	APM power-state data for device classes 01h-08h (four devices
		  per class)
1FDh  3 BYTEs	???
200h 10 WORDs	POST error log
214h	???
SeeAlso: #M0001,#M0005

Format of Extended BIOS Data Area (PhoenixBIOS 4.0):
Offset	Size	Description	(Table M0005)
 00h	BYTE	length of XBDA in kilobytes
 01h 33 BYTEs	reserved
 22h	DWORD	Pointing Device Driver entry point
 26h	BYTE	Pointing Device Flags 1 (see #M0002)
 27h	BYTE	Pointing Device Flags 2 (see #M0003)
 28h  8 BYTEs	Pointing Device Auxiliary Device Data
SeeAlso: #M0001,#M0004
--------B-M00400010--------------------------
MEM 0040h:0010h - INSTALLED HARDWARE
Size:	WORD
SeeAlso: INT 11

Bitfields for BIOS-detected installed hardware:
Bit(s)	Description	(Table M0006)
 15-14	number of parallel devices
	00 or 11 sometimes used to indicate four LPT ports
 13	(Convertible, PS/2-55LS) internal modem
 12	game port installed
 11-9	number of serial devices
	000 or 111 sometimes used to indicate eight COM ports
 8	reserved
 7-6	number of floppy disk drives (minus 1)
 5-4	initial video mode
	00 EGA,VGA,PGA, or other with on-board video BIOS
	01 40x25 CGA color
	10 80x25 CGA color
	11 80x25 mono text
 3-2	(PC only) RAM on motherboard
	00 = 16K, 01 = 32K, 10 = 48K, 11 = 64K
	(some XTs) RAM on motherboard
	00 = 64K, 01 = 128K, 10 = 192K, 11 = 256K
 2	(pre-PS/2 except PC) reserved
	(PS/2, some XT clones, newer BIOSes) pointing device installed
 1	math coprocessor installed
 0	floppy disk drives are installed
	booted from floppy
--------B-M00400012--------------------------
MEM 0040h:0012h - Convertible - POST STATUS
Size:	BYTE
--------B-M00400012--------------------------
MEM 0040h:0012h U - AT - MANUFACTURING TEST INITIALIZATION FLAGS
Size:	BYTE

Bitfields for AT manufacturing test initialization flags:
Bit(s)	Description	(Table M0007)
 0	start in manufacturing test mode rather than normal operation
 1-7	unused
--------b-M00400012--------------------------
MEM 0040h:0012h - MCA - MANUFACTURING TEST
Size:	BYTE

Bitfields for MCA manufacturing test flags :
Bit(s)	Description	(Table M0008)
 7	POST flag, ???
 6-5	unused
 4	POST flag, slot 4 has adapter identifier EDAFh
 3	POST flag, 80x25 color video
 2	POST flag, ???
 1	unused
 0	manufacturing test mode rather than normal operation
--------b-M00400012--------------------------
MEM 0040h:0012h - PS/2 Model 25 - POST SYSTEM FLAG
Size:	BYTE

Bitfields for PS/2 Model 25 POST sytem flag :
Bit(s)	Description	(Table M0009)
 0	optional memory failed; memory remapped
 1	real-time clock installed

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -