实模式下,内存说明大全

来源:互联网 发布:讲故事什么软件好 编辑:程序博客网 时间:2024/06/05 10:04
Notes    Offset (hex)    Size (dec)         Description
0000    4    Interrupt Vector for INT 00h (division by zero)
0004    4    Interrupt Vector for INT 01h (single step)
0008    4    Interrupt Vector for INT 02h (Nonmaskable)
000C    4    Interrupt Vector for INT 03h (Break point)
0010    4    Interrupt Vector for INT 04h (overflow)
0014    4    Interrupt Vector for INT 05h (print screen)
0018    4    Interrupt Vector for INT 06h (invalid opcode)
001C    4    Interrupt Vector for INT 07h (processor extension not available)
0020    4    Interrupt Vector for INT 08h (clock tick (hardware))
0024    4    Interrupt Vector for INT 09h (keyboard)
0028    4    Interrupt Vector for INT 0Ah (LPT2)
002C    4    Interrupt Vector for INT 0Bh (COM2)
0030    4    Interrupt Vector for INT 0Ch (COM1)
0034    4    Interrupt Vector for INT 0Dh (IRQ5)
0038    4    Interrupt Vector for INT 0Eh (floppy disk attention)
003C    4    Interrupt Vector for INT 0Fh (printer control)
0040    4    Interrupt Vector for INT 10h (video)
0044    4    Interrupt Vector for INT 11h (equipment list)
0048    4    Interrupt Vector for INT 12h (memory size)
004C    4    Interrupt Vector for INT 13h (disk BIOS)
0050    4    Interrupt Vector for INT 14h (communications BIOS)
0054    4    Interrupt Vector for INT 15h (system BIOS)
0058    4    Interrupt Vector for INT 16h (keyboard BIOS)
005C    4    Interrupt Vector for INT 17h (printer BIOS)
0060    4    Interrupt Vector for INT 18h (ROM Basic Language)
0064    4    Interrupt Vector for INT 19h (boot-strap)
0068    4    Interrupt Vector for INT 1Ah (Time and Date)
006C    4    Interrupt Vector for INT 1Bh (Ctrl Break)
0070    4    Interrupt Vector for INT 1Ch (Clock tick)
0074    4    Holds address pointing to control parameters
0078    4    Holds address pointing to floppy disk drive parameter table
007C    4    Holds address pointing to second half of character table (128 - 255)
0080    4    Interrupt Vector for INT 20h (terminate)
0084    4    Interrupt Vector for INT 21h (MS-DOS function calls)
0088    4    Holds address pointing to MS-DOS program terminate routine
008C    4    Holds address pointing to MS-DOS keyboard-break handler
0090    4    Holds address pointing to MS-DOS critical-error handler
0094    4    Interrupt Vector for INT 25h (Absolute disk read)
0098    4    Interrupt Vector for INT 26h (Absolute disk write)
009C    4    Interrupt Vector for INT 27h (MS-DOS TSR)
00A0    4    Interrupt Vector for INT 28h (MS-DOS IDLE)
00A4    4    Interrupt Vector for INT 29h (Fast CON output)
00A8    4    Interrupt Vector for INT 2Ah (NetBIOS)
00A8    12    Interrupt Vector for INT 2Bh-2Dh (reserved)
00B8    4    Interrupt Vector for INT 2Eh (Execute)
00BC    4    Interrupt Vector for INT 2Fh (Multitask)
00C0    4    (NOT A VECTOR!) - DOS 1+ - FAR JMP instruction
00C4    4    overwritten by CP/M jump instruction in INT 30
00C8    4    Interrupt Vector for INT 32h (user)
00CC    4    Interrupt Vector for INT 33h (Mouse)
00D0    44    Interrupt Vector for INT 34h-3Eh (FLOATING POINT EMULATION)
00FC    4    Interrupt Vector for INT 3Fh (Overlay manager)
0100    4    Interrupt Vector for INT 40h (Disk handler)
0104    4    Holds address pointing to Parameter table for first hard drive
0108    4    Interrupt Vector for INT 42h (video)
010C    4    Holds address pointing to video graphics characters (EGA, PS/2s)
0110    4    Holds address pointing to video graphics characters (PCjr)
0114    4    Z100/Acron
0118    4    Holds address pointing to Parameter table for second hard drive
011C    4    Z100/Acorn/Western Digital/SQL Base
0120    4    KEYBOARD (PCjr)
0124    4    SYSTEM DATA (PCjr)
0128    4    Interrupt Vector for INT 4Ah (USER ALARM HANDLER)
012C    4    Interrupt Vector for INT 4Bh (IBM SCSI interface)
0130    4    Interrupt Vector for INT 4Ch (Z100/Acorn/TI)
0134    4    Interrupt Vector for INT 4Dh (Z100)
0138    4    Interrupt Vector for INT 4Eh (Z100/TI)
013C    4    Interrupt Vector for INT 4Fh (Common Access Method SCSI)

0140    4    Interrupt Vector for INT 50h (IRQ0 relocated by software)

0144    4    Interrupt Vector for INT 51h (IRQ1 relocated by software)

0148    4    Interrupt Vector for INT 52h (IRQ2 relocated by software)
014C    4    Interrupt Vector for INT 53h (IRQ3 relocated by software)
0150    4    Interrupt Vector for INT 54h (IRQ4 relocated by software)
0154    4    Interrupt Vector for INT 55h (IRQ5 relocated by software)
0158    4    Interrupt Vector for INT 56h (IRQ6 relocated by software)
015C    4    Interrupt Vector for INT 57h (IRQ7 relocated by software)
0160    4    Interrupt Vector for INT 58h (IRQ8/0 relocated by software)
0164    4    Interrupt Vector for INT 59h (IRQ9/1 relocated by software)
0168    4    Interrupt Vector for INT 5Ah (IRQ10/2 relocated by software)
016C    4    Interrupt Vector for INT 5Bh (IRQ11/3 relocated by software)
0170    4    Interrupt Vector for INT 5Ch (IRQ12/4 relocated by software)
0174    4    Interrupt Vector for INT 5Dh (IRQ13/5 relocated by software)
0178    4    Interrupt Vector for INT 5Eh (IRQ14/6 relocated by software)
017C    4    Interrupt Vector for INT 5Fh (IRQ15/7 relocated by software)
0180    28    Interrupt Vector for INT 60h-66h (reserved for user interrupt)
019C    4    Interrupt Vector for INT 67h (LIM Expanded Memory Manager)
01A0    16    Interrupt Vector for INT 68h-6Bh (reserved for user interrupt)
01B0    4    Interrupt Vector for INT 6Ch (DECnet DOS network scheduler)
01B4    4    Interrupt Vector for INT 6Dh (VGA internal)
01B8    4    Interrupt Vector for INT 6Eh (DECnet DOS)
01BC    4    Interrupt Vector for INT 6Fh (Novell NetWare, MS Windows 3.0)
01C0    4    Interrupt Vector for INT 70h (CMOS real-time clock)
01C4    4    Interrupt Vector for INT 71h (redirected to int 0A)
01C8    8    Interrupt Vector for INT 72h-73h (IRQ10-11 reserved)
01D0    4    Interrupt Vector for INT 74h (IRQ12 Pointing device)
01D4    4    Interrupt Vector for INT 75h (IRQ13 math coprocessor exception)
01D8    4    Interrupt Vector for INT 76h (IRQ14 Hard disk controller)
01DC    4    Interrupt Vector for INT 77h (IRQ15 reserved)
01E0    4    Interrupt Vector for INT 78h (DOS extenders?)
01E4    4    Interrupt Vector for INT 79h (reserved for user interrupt)
01E8    4    Interrupt Vector for INT 7Ah (Novell NetWare)
01E8    20    Interrupt Vector for INT 7Bh-7Fh (reserved for user interrupt)
0200    24    Interrupt Vector for INT 80h-85h (reserved for BASIC)
0218    420    Interrupt Vector for INT 86h-EEh (reserved for BASIC)
03BC    4    Interrupt Vector for INT EFh (BASIC - orig. INT 09 vector)
03C0    4    Interrupt Vector for INT F0h (BASIC - orig. INT 08 vector)
03C4    52    Interrupt Vector for INT F1h-FDh (reserved for user interrupt)
03F8    8    Interrupt Vector for INT FEh-FFh (AT/XT286/PS50+)
Remember that 0000:0400h = 0040:0000h
0400    2    COM1 I/O base address (set to 0 if none found)
0402    2    COM2 I/O base address (set to 0 if none found)
0404    2    COM3 I/O base address (set to 0 if none found)
0406    2    COM4 I/O base address (set to 0 if none found)

0408    2    LPT1 I/O base address (set to 0 if none found)
040A    2    LPT2 I/O base address (set to 0 if none found)
040C    2    LPT3 I/O base address (set to 0 if none found)
040E    2    LPT4 I/O base address (set to 0 if none found)

2    (if extended BIOS on system) Segment address of Extended BIOS Data Area (9FC0:0000h)

0410    2    equipment list reported by interrupt 11h (see figure 1)
0412    1    PCjr - Infrared Keyboard Link Error
0413    2    usable memory size in kilobytes (interrupt 12h)
Usually set to 0280h. If less, then denotes 640k-difference=size of Extended BIOS Data Area at (9FC0:0000h)
0415    2    (AT+) Error codes from the BIOS manufacturer
2    (PC,XT) Adapter Memory Size
0417    2    keyboard status bits (see figure 2)
0419    1    Alternate Keypad entry
041A    2    points to current head of keyboard buffer at 0040:001Eh
041C    2    points to current tail of keyboard buffer at 0040:001Eh
041E    32    keyboard buffer - used as sixteen 2-byte entries
043E    1    indicates whether a floppy drive should be re calibrated
043F    1    floppy drive motor status (bites 0-3)
bit 0 = drive 0, if set - drive motor running
bit 1 = drive 1, if set - drive motor running, etc.

0440    1    floppy drive motor status. The value in this byte is

decremented with every tick of the system clock.

When the value returns 0, the BOIS turns off the motor
0441    1    floppy drive motor status. status code returned by the
ROM BIOS from the most recent disk operation
0442    7    floppy drive controller status
0449    1    current video mode
044A    2    max number of chars in a row of text
044C    2    number of bytes needed to display the screen (text=80x25)
044E    2    offset of current display page
0450    16    8 words, each giving the cursor location of each page
0460    2    size of current cursor
0462    1    current display page
0463    2    port address of the hardware display controller chip
0465    1    current setting of the display mode-register of the MDA and CGA
0466    1    current setting of the CGA's CRT color register
0467    5    cassette tape control
4    Reset Restart Address
046C    4    master clock count (long integer) 0 = midnight and increments until a 24 hour equiv.
0470    1    not 0 = passed midnight
0471    1    if bit 7 is set, ctrl-break was pressed
0472    2    set to 1234h after initial power up telling a warm boot to skip mem check
0474    1    Fixed disk last operation status (except ESDI drives)
0475    1    Number of fixed disk drives
0476    1    Fixed disk control byte
0477    1    Fixed disk I/O port offset (XT only)
0478    4    contains a time-out value for the respective parallel ports
047C    4    contains a time-out value for the respective RS-232 serial ports
0480    2    points at the start of the keyboard buffer area
0482    2    points at the end of the keyboard buffer area
0484    1    this value is one less than the number of character rows displayed on the screen
0485    2    height, in scan lines, of characters on the screen
0487    4    Amount of video RAM available
Initial setting of the EGA configuration switches, as well as other misc video status info.
048B    11    control and status information regarding the floppy and hard disk drives
0496    2    data area used to support the 101-key keyboard
0498    9    real time clock control
04A1    1    LANA DMA channel flags
04A2    2    Status of LANA 0,1
04A4    4    Saved hard disk interrupt vector
04A8    4    (EGA and VGA) contain segmented address of a table of video parameters and overrides
04AC    8    (reserved)
04B4    1    Keyboard NMI control flags (convertible)
04B5    4    Keyboard Break pending flags (convertible)
04B9    1    Port 60h single byte Queue (convertible)
04BA    1    Scan code for last key (convertible)
04BB    1    NMI Buffer head pointer (convertible)
04BC    1    NMI Buffer tail pointer (convertible)
04BD    16    NMI scan code Buffer (convertible)
04CD    1    unknown
04CE    2    Day Counter (convertible)
04D0    16    unknown
04F0    16    intra-application communications area (ICA)
ie: known area where one app can communicate with another app.
(not used much because of its small size)
Remember that 0000:0500h = 0050:0000h
0500    1    status of a print-screen operation
00h - OK
01h - a print-screen operation currently in progress
FFh - error occurred during a print-screen operation
0501    3    Used by BASIC
0504    1    if only 1 floppy installed, this byte indicates which drive letter it is using (a or b)
00h - acting as drive a:
01h - acting as drive b:
0505    10    POST work area
050F    1    BASIC shell flag (2 if currently in shell)
0510    2    holds ROM Basics default DS value (DO NOT CHANGE)
0512    4    segment offset address of Basic's clock-tick interrupt handler
0516    4    address for ROM Basic's Break-key-handling routine
051A    4    address for ROM Basic's floppy disk error-handling routine
0520    2    DOS Dynamic Storage ???
0522    14    DOS Diskette Initialization Table ???
0530    4    MODE command ???
0534    206    unknown
Remember that 0000:0600h = 0060:0000h
0600    256    scratch space used during DOS 2+ boot up
Remember that 0000:0700h = 0070:0000h
DOS 2+
0700    256    IO.SYS LOAD ADDRESS
DOS 5+
0700    25    ORIGINAL INTERRUPT VECTORS 10h,13h,15h,19h,1Bh
Each value is stored as a BYTE for the interrupt number followed by a DWORD for the vector
0719    231    unknown
Remember that 0000:0800h = 0080:0000h
0800    102    80286 CPU - LOADALL WORKSPACE
On the 80286 (unlike 80386), the state buffer from which the LOADALL instruction loads all internal registers is hardwired to physical address 000800h Several versions 3.x of MS-DOS leave an empty space at offset 100h in IO.SYS (which is loaded at 0070h:0000h) so that HIMEM.SYS can use LOADALL on 80286 machines without having to save/restore the area of memory that LOADALL uses

0866    154    unknown
Remember that 0000:0900h = 0090:0000h

0900    653,056    DOS (COMMAND.COM, etc., User Memory)
9FC0h:0000h - If your system has Extended BIOS Data Area (see 0040:000Eh and :0013h above)

0000    1    Size of Extended BIOS Data Area in 1k blocks

0002    21    unknown

0017    1    Number of POST error entries

0018    10    Error Log for above

0022    4    Mouse Driver Device Far Call

0026    1    Mouse Flags 1

0027    1    Mouse Flags 2

0028    8    Mouse Data

0030    9    unknown

0039    2    Watch Dog Timer

003B    2    unknown

003D    16    Hard Disk 0 Parameter Table

004D    16    Hard Disk 1 Parameter Table

005D    11    unknown

0068    1    Cache Control

0069    5    unknown

006E    1    Repeat Rate of Keyboard

006F    1    Delay until Keyboard repeats

0070    1    Number of Hard Drives attached

0071    1    DMA channel Hard Drive

0072    1    Hard Drive interrupt status

0073    1    Hard Drive operation flags

0074    4    Old interrupt 76h vector pointer

0078    1    Hard Drive DMA type

0079    1    (Hard Drive) status of last operation

007A    1    (Hard Drive) timeout value

007B    3    unknown

007E    16    Hard Drive controller return status words

008E    89    unknown

00E7    1    Diskette Drive type

00E8    4    unknown

00EC    1    Hard Drive Parameters Loaded

00ED    1    unknown

00EE    1    CPU Family ID

00EF    1    CPU Stepping

00F0    39    unknown

0117    2    Keyboard ID

0119    1    unknown

011A    1    Non-BIOS Interrupt 18h Flag

011B    2    unknown

011D    4    User Interrupt 18h Far Pointer

0121    735    unknown
A000:0000h

0000    65,536    Graphics Video memory (EGA and above)
B000:0000h

0000    32,768    Graphics area for EGA and up

8000    4096    Page 0 - 80x25 16 color and mono (B800:0000)

9000    4096    Page 1 - 80x25 16 color and mono (B800:1000)

A000    4096    Page 2 - 80x25 16 color and mono (B800:2000)

B000    4096    Page 3 - 80x25 16 color and mono (B800:3000)

C000    4096    Page 4 - 80x25 16 color and mono (B800:4000)

D000    4096    Page 5 - 80x25 16 color and mono (B800:5000)

E000    4096    Page 6 - 80x25 16 color and mono (B800:6000)

F000    4096    Page 7 - 80x25 16 color and mono (B800:7000)
C000:0000h

0000    65,536    additional ROM-BIOS & video memory
D000:0000h

0000    65,536    ROM cartridges
E000:0000h

0000    65,536    ROM cartridges
F000:0000h

0000    32,768    IBM PC ROM BASIC

E000    8,192    ORIGINAL IBM PC ROM BIOS

FFF0    5    RESET JUMP

FFF5    8    ASCII BIOS DATE

FFFD    1    OFTEN USED TO ENSURE CORRECT BIOS CHECKSUM

FFFE    1    MACHINE TYPE CODE

FFFF    1    unknown
Total memory
0000:0000—F000:FFFF    1,048,576    16 x 65,536 = 1 meg
0 0
原创粉丝点击