BIOS Data Area(書きかけ)

BIOS Data Areaはコンピュータに電源投入時、メモリの0040:0000h番地に265Byteの領域が作成されます。

それらの内容は下記の通りです。

Offset BIOS Service レングス 機能
00h Int 14h 2 bytes シリアル ポート1 Base I/O address (COM1)
02h Int 14h 2 bytes シリアル ポート2 Base I/O address (COM2)
04h Int 14h 2 bytes シリアル ポート3 Base I/O address (COM3)
06h Int 14h 2 bytes シリアル ポート4 Base I/O address (COM4)
08h Int 17h 2 bytes パラレル ポート1 Base I/O address (LPT1)
0Ah Int 17h 2 bytes パラレル ポート2 Base I/O address (LPT2)
0Ch Int 17h 2 bytes パラレル ポート3 Base I/O address (LPT3)
0Eh POST 2 bytes パラレル ポート4 Base I/O address (LPT4) (PC/XTだけ?)
10h Int 11h 2 bytes 周辺機器の数をビットアサインで表現している。
ビットアサイン詳細
bit 内容
15-14 parallel portの数
  1. 00b = 0 parallel port
  2. 01b = 1 parallel port
  3. 10b = 2 parallel port
  4. 11b = 3 parallel port
13 予約
12 game adapter
  1. 00b = 無し
  2. 01b = 有り
11-9 serial portの数
  1. 000b = 0 serial port
  2. 001b = 1 serial port
  3. 010b = 2 serial port
  4. 011b = 3 serial port
  5. 100b = 4 serial port
8 DMA
  1. 0b = DMA 有り
  2. 1b = DMA 無し?
7-6 floppy driveの数
  1. 00b = 1 floppy drive
  2. 01b = 2 floppy drive
  3. 10b = 3 floppy drive
  4. 11b = 4 floppy drive
5-4 video mode
  1. 00b = EGA
  2. 01b = color 40x25
  3. 10b = color 80x25
  4. 11b = monochrome 80x25
3 予約
2 PS/2 mouse
  1. 0b = 無し
  2. 1b = 有り
1 数値演算 コプロセッサー
  1. 0b = 無し
  2. 1b = 有り
0 boot可能なfloppy drive
  1. 0b = 無し
  2. 1b = 有り
12h POST 1 byte Interrupt flag - Manufacturing test
13h Int 12h 2 bytes メモリサイズ (KByte)
15h   1 bytes 予約
16h   1 bytes PS/2 BIOS 制御フラグ
17h Int 16h 1 byte キーボード フラグ 1
キーボード フラグ 1 詳細
bit 内容
7 Insert キーの状態
  1. 00b = OFF
  2. 01b = ON
6 CapsLock キーの状態
  1. 00b = OFF
  2. 01b = ON
5 NumLock キーの状態
  1. 00b = OFF
  2. 01b = ON
4 ScrollLock キーの状態
  1. 00b = OFF
  2. 01b = ON
3 Alt キーの押下
  1. 00b = 押下無し
  2. 01b = 押下有り
2 Control キーの押下
  1. 00b = 押下無し
  2. 01b = 押下有り
1 Left Shift キーの押下
  1. 00b = 押下無し
  2. 01b = 押下有り
0 Right Shift キーの押下
  1. 00b = 押下無し
  2. 01b = 押下有り
18h Int 16h 1 byte キーボード フラグ 2
キーボード フラグ 2 詳細
bit 内容
7 Insert キーの押下
  1. 00b = 押下無し
  2. 01b = 押下有り
6 CapsLock キーの押下
  1. 00b = 押下無し
  2. 01b = 押下有り
5 NumLock キーの押下
  1. 00b = 押下無し
  2. 01b = 押下有り
4 ScrollLock キーの押下
  1. 00b = 押下無し
  2. 01b = 押下有り
3 suspend キーの状態
  1. 00b = OFF
  2. 01b = ON
2 system キーの状態
  1. 00b = OFF
  2. 01b = ON
1 Left ALT キーの押下
  1. 00b = 押下無し
  2. 01b = 押下有り
0 Right ALT キーの押下
  1. 00b = 押下無し
  2. 01b = 押下有り
19h Int 09h 1 byte テンキー用のワークエリア?
1Ah Int 16h 2 bytes キーボード バッファ内にある、次の文字へのポインタ
1Ch Int 16h 2 bytes キーボード バッファ内にある、最後の文字へのポインタ
1Eh Int 16h 32 bytes キーボード バッファ
3Eh Int 13h 1 byte Floppy disk drive calibration status
Floppy disk drive calibration status 詳細
bit 内容
7-4 予約
3 floppy drive 3
  1. 00b = not calibrated
  2. 01b = calibrated
2 floppy drive 2
  1. 00b = not calibrated
  2. 01b = calibrated
1 floppy drive 1
  1. 00b = not calibrated
  2. 01b = calibrated
0 floppy drive 0
  1. 00b = not calibrated
  2. 01b = calibrated
3Fh Int 13h 1 byte Floppy disk drive motor status
Floppy disk drive motor status 詳細
bit 内容
7 現在のオペレーション
  1. 00b = read or verify
  2. 01b = write
6-4 予約
3 floppy drive 3
  1. 00b = motor off
  2. 01b = motor on
2 floppy drive 2
  1. 00b = motor off
  2. 01b = motor on
1 floppy drive 1
  1. 00b = motor off
  2. 01b = motor on
0 floppy drive 0
  1. 00b = motor off
  2. 01b = motor on
40h Int 13h 1 byte Floppy disk drive motor time-out
41h Int 13h 1 byte Floppy disk drive status
Floppy disk drive status 詳細
内容
  1. 00h = successful completion
  2. 01h = invalid function in AH or invalid parameter
  3. 02h = address mark not found
  4. 03h = disk write-protected
  5. 04h = sector not found/read error
  6. 06h = disk changed (floppy)
  7. 08h = DMA overrun
  8. 09h = data boundary error
  9. 0Ch = unsupported track or invalid media
  10. 10h = uncorrectable CRC or ECC error on read
  11. 20h = controller failure
  12. 40h = seek failed
  13. 80h = timeout (drive not ready)
49h Int 10h 1 byte 現在のビデオモード
4Ah Int 10h 2 bytes 現在のスクリーン カラム数
4Ch Int 10h 2 bytes 現在の video page バッファのサイズ (bytes)
4Eh Int 10h 2 bytes 現在の video page バッファのオフセットアドレス
50h Int 10h 2 bytes video page 0のコンソール ポジション
52h Int 10h 2 bytes video page 1のコンソール ポジション
54h Int 10h 2 bytes video page 2のコンソール ポジション
56h Int 10h 2 bytes video page 3のコンソール ポジション
58h Int 10h 2 bytes video page 4のコンソール ポジション
5Ah Int 10h 2 bytes video page 5のコンソール ポジション
5Ch Int 10h 2 bytes video page 6のコンソール ポジション
5Eh Int 10h 2 bytes video page 7のコンソール ポジション
60h Int 10h 2 bytes Cursor shape
62h Int 10h 1 byte Active video page
63h Int 10h 2 bytes Video Display Adapter のI/O Port Address
65h Int 10h 1 byte Video Display Adapter Internal Mode Register
66h Int 10h 1 byte Color palette
67h   2 bytes Adapter ROM offset address
69h   2 bytes Adapter ROM segment address
6Bh   1 byte Last interrupt (not PC)
6Ch Int 1Ah 4 bytes Counter for Interrupt 1Ah
70c Int 1Ah 1 byte Timer 24 hour flag
71h Int 16h 1 byte Keyboard Ctrl-Break flag
72h POST 2 bytes Soft Reset Flag
Soft Reset Flag 詳細
内容
1234h Bypass Memory Tests & CRT Initialization
4321h Preserve Memory
5678h System Suspend
9ABCh Manufacturer Test
ABCDh Convertible POST Loop
74h Int 13h 1 byte Status of last hard disk operation
75h Int 13h 1 byte Number of hard disk drives
76h Int 13h 1 byte Hard disk control byte
77h Int 13h 1 byte Offset address of hard disk I/O port (XT)
78h Int 17h 1 byte Parallel port 1 timeout
79h Int 17h 1 byte Parallel port 2 timeout
7Ah Int 17h 1 byte Parallel port 3 timeout
7Bh   1 byte Parallel port 4 timeout (PC, XT) support for virtual DMA services (VDS)
7Ch Int 14h 1 byte Serial port 1 timeout
7Dh Int 14h 1 byte Serial port 2 timeout
7Eh Int 14h 1 byte Serial port 3 timeout
7Fh Int 14h 1 byte Serial port 4 timeout
80h Int 16h 2 bytes Starting address of keyboard buffer
82h Int 16h 2 bytes Ending address of keyboard buffer
84h Int 10h 1 byte Number of video rows (minus 1)
85h Int 10h 2 bytes Number of scan lines per character
87h Int 10h 1 byte Video display adapter options
88h Int 10h 1 byte Video display adapter switches
89h Int 10h 1 byte VGA video flags 1
8Ah Int 10h 1 byte VGA video flags 2
8Bh Int 13h 1 byte Floppy disk configuration data
8Ch Int 13h 1 byte Hard disk drive controller status
8Dh Int 13h 1 byte Hard disk drive error
8Eh Int 13h 1 byte Hard disk drive task complete flag
8Fh Int 13h 1 byte Floppy disk drive information
90h Int 13h 1 byte Diskette 0 media state
91h Int 13h 1 byte Diskette 1 media state
92h Int 13h 1 byte Diskette 0 operational starting state
93h Int 13h 1 byte Diskette 1 operational starting status
94h Int 13h 1 byte Diskette 0 current cylinder
95h Int 13h 1 byte Diskette 1 current cylinder
96h Int 16h 1 byte Keyboard status flags 3
97h Int 16h 1 byte Keyboard status flags 4
98h   4 bytes Segment:Offset address of user wait flag pointer
9Ch   4 bytes User wait count
A0h   1 byte User wait flag
A1h   7 bytes Local area network (LAN) bytes
A8h   4 bytes Segment:Offset address of video parameter control block
ACh   68 bytes 予約
F0h   16 bytes 内部アプリケーションの通信領域
Last modified: Fri Jun 06 19:43:17 2008 JST