放一些查資料的網站方便查閱一些資料。
[注意]  UEFI Class 3 (Pure UEFI) BIOS 就可能不會完全使用這些參考位址,這部分請自行聯繫BIOS vendor或是你的BIOS core team確認.BDA - BIOS Data Area - PC Memory Map
 Address Size    Description
 00:00 256dwords Interrupt vector table
 30:00 256bytes Stack area used during post and bootstrap
 40:00 word COM1 port address
 40:02 word COM2 port address
 40:04 word COM3 port address
 40:06 word COM4 port address
 40:08 word LPT1 port address
 40:0A word LPT2 port address
 40:0C word LPT3 port address
 40:0E word LPT4 port address (except PS/2)
   Extended BIOS Data Area segment (PS/2, see EBDA)
 40:10  2 bytes Equipment list flags (see INT 11)
  |7|6|5|4|3|2|1|0| 40:10 (value in INT 11 register AL)
   | | | | | | | `- IPL diskette installed
   | | | | | | `-- math coprocessor
   | | | | |-+-- old PC system board RAM < 256K
   | | | | | `-- pointing device installed (PS/2)
   | | | | `--- not used on PS/2
   | | `------ initial video mode
   `--------- # of diskette drives, less 1
  |7|6|5|4|3|2|1|0| 40:11  (value in INT 11 register AH)
   | | | | | | | `- 0 if DMA installed
   | | | | `------ number of serial ports
   | | | `------- game adapter
   | | `-------- not used, internal modem (PS/2)
   `----------- number of printer ports
 40:12 byte PCjr: infrared keyboard link error count
 40:13 word Memory size in Kbytes  (see INT 12)
 40:15 byte Reserved
 40:16 byte PS/2 BIOS control flags
 40:17 byte Keyboard flag byte 0 (see KB FLAGS)
  |7|6|5|4|3|2|1|0| keyboard flag byte 0
   | | | | | | | `--- right shift key depressed
   | | | | | | `---- left shift key depressed
   | | | | | `----- CTRL key depressed
   | | | | `------ ALT key depressed
   | | | `------- scroll-lock is active
   | | `-------- num-lock is active
   | `--------- caps-lock is active
   `---------- insert is active
 40:18 byte Keyboard flag byte 1 (see KB FLAGS)
  |7|6|5|4|3|2|1|0| keyboard flag byte
   | | | | | | | `--- left CTRL key depressed
   | | | | | | `---- left ALT key depressed
   | | | | | `----- system key depressed and held
   | | | | `------ suspend key has been toggled
   | | | `------- scroll lock key is depressed
   | | `-------- num-lock key is depressed
   | `--------- caps-lock key is depressed
   `---------- insert key is depressed
 40:19 byte Storage for alternate keypad entry
 40:1A word Offset from 40:00 to keyboard buffer head
 40:1C word Offset from 40:00 to keyboard buffer tail
 40:1E  32bytes Keyboard buffer (circular queue buffer)
 40:3E byte Drive recalibration status
  |7|6|5|4|3|2|1|0| drive recalibration status
   | | | | | | | `-- 1=recalibrate drive 0
   | | | | | | `--- 1=recalibrate drive 1
   | | | | | `---- 1=recalibrate drive 2
   | | | | `----- 1=recalibrate drive 3
   | `---------- unused
   `----------- 1=working interrupt flag
 40:3F byte Diskette motor status
  |7|6|5|4|3|2|1|0| diskette motor status
   | | | | | | | `-- 1=drive 0 motor on
   | | | | | | `--- 1=drive 1 motor on
   | | | | | `---- 1=drive 2 motor on
   | | | | `----- 1=drive 3 motor on
   | `---------- unused
   `----------- 1=write operation
 40:40 byte Motor shutoff counter (decremented by INT 8)
 40:41 byte Status of last diskette operation (see INT 13,1)
  |7|6|5|4|3|2|1|0| status of last diskette operation
   | | | | | | | `--- invalid diskette command
   | | | | | | `---- diskette address mark not found
   | | | | | `----- sector not found
   | | | | `------ diskette DMA error
   | | | `------- CRC check / data error
   | | `-------- diskette controller failure
   | `--------- seek to track failed
   `---------- diskette time-out
 40:42  7 bytes NEC diskette controller status (see FDC)
 40:49 byte Current video mode  (see VIDEO MODE)
 40:4A word Number of screen columns
 40:4C word Size of current video regen buffer in bytes
 40:4E word Offset of current video page in video regen buffer
 40:50  8 words Cursor position of pages 1-8, high order byte=row
   low order byte=column; changing this data isn't
   reflected immediately on the display
 40:60 byte Cursor ending (bottom) scan line (don't modify)
 40:61 byte Cursor starting (top) scan line (don't modify)
 40:62 byte Active display page number
 40:63 word Base port address for active 6845 CRT controller
   3B4h = mono, 3D4h = color
 40:65 byte 6845 CRT mode control register value (port 3x8h)
   EGA/VGA values emulate those of the MDA/CGA
 40:66 byte CGA current color palette mask setting (port 3d9h)
   EGA and VGA values emulate the CGA
 40:67 dword CS:IP for 286 return from protected mode
  dword Temp storage for SS:SP during shutdown
  dword Day counter on all products after AT
  dword PS/2 Pointer to reset code with memory preserved
  5 bytes Cassette tape control (before AT)
 40:6C dword Daily timer counter, equal to zero at midnight;
   incremented by INT 8; read/set by INT 1A
 40:70 byte Clock rollover flag, set when 40:6C exceeds 24hrs
 40:71 byte BIOS break flag, bit 7 is set if Ctrl-Break was
   *ever* hit; set by INT 9
 40:72 word Soft reset flag via Ctl-Alt-Del or JMP FFFF:0
   1234h  Bypass memory tests & CRT initialization
   4321h  Preserve memory
   5678h  System suspend
   9ABCh  Manufacturer test
   ABCDh  Convertible POST loop
   ????h  many other values are used during POST
 40:74 byte Status of last hard disk operation (see INT 13,1)
 40:75 byte Number of hard disks attached
 40:76 byte XT fixed disk drive control byte
 40:77 byte Port offset to current fixed disk adapter
 40:78  4 bytes Time-Out value for LPT1,LPT2,LPT3(,LPT4 except PS/2)
 40:7C  4 bytes Time-Out value for COM1,COM2,COM3,COM4
 40:80 word Keyboard buffer start offset (seg=40h,BIOS 10-27-82)
 40:82 word Keyboard buffer end offset (seg=40h,BIOS 10-27-82)
 40:84 byte Rows on the screen (less 1, EGA)
 40:85 word Point height of character matrix (EGA)
  byte PCjr: character to be repeated if the typematic
   repeat key takes effect
 40:86 byte PCjr: initial delay before repeat key action begins
 40:87 byte PCjr: current Fn function key number
  byte Video mode options (EGA)
  |7|6|5|4|3|2|1|0| Video mode options (EGA)
   | | | | | | | `-- 1=alphanumeric cursor emulation enabled
   | | | | | | `--- 1=video subsystem attached to monochrome
   | | | | | `---- reserved
   | | | | `----- 1=video subsystem is inactive
   | | | `------ reserved
   | `--------- video RAM  00-64K  10-192K  01-128K  11-256K
   `---------- video mode number passed to INT 10, function 0
 40:88 byte PCjr: third keyboard status byte
   EGA feature bit switches, emulated on VGA
  |7|6|5|4|3|2|1|0| EGA feature bit switches (EGA)
   | | | | | | | `-- EGA SW1 config (1=off)
   | | | | | | `--- EGA SW2 config (1=off)
   | | | | | `---- EGA SW3 config (1=off)
   | | | | `----- EGA SW4 config (1=off)
   | | | `------ Input FEAT0 (ISR0 bit 5) after output on FCR0
   | | `------- Input FEAT0 (ISR0 bit 6) after output on FCR0
   | `-------- Input FEAT1 (ISR0 bit 5) after output on FCR1
   `--------- Input FEAT1 (ISR0 bit 6) after output on FCR1
 40:89 byte Video display data area (MCGA and VGA)
  |7|6|5|4|3|2|1|0| Video display data area (MCGA and VGA)
   | | | | | | | `-- 1=VGA is active
   | | | | | | `--- 1=gray scale is enabled
   | | | | | `---- 1=using monochrome monitor
   | | | | `----- 1=default palette loading is disabled
   | | | `------ see table below
   | | `------- reserved
   | `--------  1=display switching enabled
   `--------- alphanumeric scan lines (see table below)
       Bit7    Bit4 Scan Lines
  0 0 350 line mode
  0 1 400 line mode
  1 0 200 line mode
  1 1 reserved
 40:8A byte Display Combination Code (DCC) table index (EGA)
 40:8B byte Last diskette data rate selected
  |7|6|5|4|3|2|1|0| last diskette data rate selected
   | | | | `--------- reserved
   | | `------------ last floppy drive step rate selected
   `-------------- last floppy data rate selected
  Data Rate    Step Rate
  00  500K bps  00  step rate time of 0C
  01  300K bps  01  step rate time of 0D
  10  250K bps  10  step rate time of 0A
  11  reserved  11  reserved
 40:8C byte Hard disk status returned by controller
 40:8D byte Hard disk error returned by controller
 40:8E byte Hard disk interrupt control flag(bit 7=working int)
 40:8F byte Combination hard/floppy disk card when bit 0 set
 40:90  4 bytes Drive 0,1,2,3 media state
  |7|6|5|4|3|2|1|0| drive media state (4 copies)
   | | | | | `------- drive/media state (see below)
   | | | | `------- reserved
   | | | `------- 1=media/drive established
   | | `------- double stepping required
   `--------- data rate: 00=500K bps    01=300K bps
     10=250K bps    11=reserved
  Bits
  210  Drive Media State
  000  360Kb diskette/360Kb drive not established
  001  360Kb diskette/1.2Mb drive not established
  010  1.2Mb diskette/1.2Mb drive not established
  011  360Kb diskette/360Kb drive established
  100  360Kb diskette/1.2Mb drive established
  101  1.2Mb diskette/1.2Mb drive established
  110  Reserved
  111  None of the above
 40:94 byte Track currently seeked to on drive 0
 40:95 byte Track currently seeked to on drive 1
 40:96 byte Keyboard mode/type
  |7|6|5|4|3|2|1|0| Keyboard mode/type
   | | | | | | | `--- last code was the E1 hidden code
   | | | | | | `---- last code was the E0 hidden code
   | | | | | `----- right CTRL key depressed
   | | | | `------ right ALT key depressed
   | | | `------- 101/102 enhanced keyboard installed
   | | `-------- force num-lock if Rd ID & KBX
   | `--------- last char was first ID char
   `---------- read ID in process
 40:97 byte Keyboard LED flags
  |7|6|5|4|3|2|1|0| Keyboard LED flags
   | | | | | | | `--- scroll lock indicator
   | | | | | | `---- num-lock indicator
   | | | | | `----- caps-lock indicator
   | | | | `------ circus system indicator
   | | | `------- ACK received
   | | `-------- re-send received flag
   | `--------- mode indicator update
   `---------- keyboard transmit error flag
 40:98 dword Pointer to user wait complete flag
 40:9C dword User wait Time-Out value in microseconds
 40:A0 byte RTC wait function flag
  |7|6|5|4|3|2|1|0| INT 15,86 RTC wait function flag
   | | | | | | | `--- 1= wait pending
   | `-------------- not used
   `--------------- 1=INT 15,86 wait time elapsed
 40:A1 byte LANA DMA channel flags
 40:A2  2 bytes Status of LANA 0,1
 40:A4 dword Saved hard disk interrupt vector
 40:A8 dword BIOS Video Save/Override Pointer Table address
   (see VIDEO TABLES)
 40:AC  8 bytes Reserved
 40:B4 byte Keyboard NMI control flags (convertible)
 40:B5 dword Keyboard break pending flags (convertible)
 40:B9 byte Port 60 single byte queue (convertible)
 40:BA byte Scan code of last key (convertible)
 40:BB byte NMI buffer head pointer (convertible)
 40:BC byte NMI buffer tail pointer (convertible)
 40:BD  16bytes NMI scan code buffer (convertible)
 40:CE word Day counter (convertible and after)
 40:F0  16bytes Intra-Applications Communications Area (IBM Technical
   Reference incorrectly locates this at 50:F0-50:FF)
 Address Size    Description  (BIOS/DOS Data Area)
 50:00 byte Print screen status byte
    00 = PrtSc not active,
    01 = PrtSc in progress
    FF = error
 50:01  3 bytes Used by BASIC
 50:04 byte DOS single diskette mode flag, 0=A:, 1=B:
 50:05  10bytes POST work area
 50:0F byte BASIC shell flag; set to 2 if current shell
 50:10 word BASICs default DS value (DEF SEG)
 50:12 dword Pointer to BASIC INT 1C interrupt handler
 50:16 dword Pointer to BASIC INT 23 interrupt handler
 50:1A dword Pointer to BASIC INT 24 disk error handler
 50:20 word DOS dynamic storage
 50:22  14bytes DOS diskette initialization table (INT 1E)
 50:30 4bytes MODE command
 70:00  I/O drivers from IO.SYS/IBMBIO.COM
 The following map varies in size and locus
 07C0:0  Boot code is loaded here at startup (31k mark)
 A000:0  EGA/VGA RAM for graphics display mode 0Dh & above
 B000:0  MDA RAM, Hercules graphics display RAM
 B800:0  CGA display RAM
 C000:0  EGA/VGA BIOS ROM (thru C7FF)
 C400:0  Video adapter ROM space
 C600:0 256bytes PGA communication area
 C800:0  16K Hard disk adapter BIOS ROM
 C800:5  XT Hard disk ROM format, AH=Drive, AL=Interleave
 D000:0  32K Cluster adapter BIOS ROM
 D800:0  PCjr conventionalsoftware cartridge address
 E000:0  64K Expansion ROM space (hardwired on AT)
   128K PS/2 System ROM (thru F000)
 F000:0  System monitor ROM
   PCjr: software cartridge override address
 F400:0  System expansion ROMs
 F600:0  IBM ROM BASIC (AT)
 F800:0  PCjr software cartridge override address
 FC00:0  BIOS ROM
 FF00:0  System ROM
 FFA6:E  ROM graphics character table
 FFFF:0  ROM bootstrap code
 FFFF:5 8 bytes ROM date (not applicable for all clones)
 FFFF:E byte ROM machine id (see MACHINE ID)
            
Reference
http://docs.huihoo.com/help-pc/index.html
 
4 則留言:
I don't like the sound of all those lists he's making - it's like prepossessing too innumerable notes at high school; you feel you've achieved something when you haven't.
In harry's existence, at some dated, our inner foment goes out. It is then break asunder into passion at hand an contend with with another hominoid being. We should all be under obligation for the duration of those people who rekindle the inner inclination
In everyone's sustenance, at some time, our inner throw goes out. It is then break asunder into enthusiasm at near an be faced with with another hominoid being. We should all be thankful recompense those people who rekindle the inner spirit
Yes, correctly.
張貼留言