BIOS中斷向量表

2021-05-26 20:21:13 字數 3513 閱讀 8319

1 -- 關於中斷向量的幾點注釋

1. 系統引導時,中斷向量表放在記憶體何處?

系統剛引導時,記憶體0x00000到0x0003ff共1kb的空間用於存放中斷向量表。每個中斷向量占用4個位元組,共可儲存256個中斷向量。

2. 系統引導時,處在實模式下,只可定址1mb,為什麼要用4個位元組來定址中斷呢處理程式?

剛看到的時候,我也很納悶。我們都知道程式設計的時候指標都是4個位元組的,可以定址4gb,在實模式下完全可以少用位元組啊?其實實模式的記憶體選址方式是:段值 * 16 + 偏移值,就是記憶體位址。而這4個位元組中,2個位元組儲存段值,兩外兩個儲存偏移值。所以共有4個位元組。

3. 這篇資料是看書和從網上整理而來的,不同的資料間往往有些衝突的地方,這樣就難免有些錯誤,以後再做修訂。

2 -- 中斷向量表

記憶體位址(十六進製制)

對應向量號(十六進製制)

中斷用途

basic中斷向量

0x3c4 - 0x3ff

f1-ff

未使用0x218 - 0x3c3

86-f0

basic程式執行時提供給basic解釋程式作用

0x200 - 0x217

80-85

為basic保留

0x1e0 - 0x1ff

78-7f

未使用0x1dc - 0x1df

77硬體中斷15

0x1d8 - 0x1db

76硬體中斷14

0x1d4 - 0x1d7

75硬體中斷13

0x1d0 - 0x1d3

74硬體中斷12

0x1cc - 0x1cf

73硬體中斷11

0x1c8 - 0x1cb

72硬體中斷10

0x1c4 - 0x1c7

71硬體中斷9

0x1c0 - 0x1c3

70硬體中斷

0x1a0 - 0x1bf

68-6f

未使用0x180 - 0x19f

60-67

為使用者程式保留的單元

0x128 - 0x17f

4a-5f

保留0x124 - 0x127

49指向鍵盤增強服務變換表

0x120 - 0x123

48pc機使用,用於把pc機的鍵盤**變換為標準的鍵盤**

0x11c - 0x11f

47保留

dos中斷向量

0x118 - 0x11b

46第二硬碟引數塊

0x114 - 0x117

45保留

0x110 - 0x113

44pc機使用,用於指向低分辯率圖形字元參數列

0x108 - 0x10f

42-43

未使用0x104 - 0x107

41硬碟引數塊

0x0c0 - 0x0cb

34-40

未使用0x0cc - 0x0cf

33滑鼠中斷

0x0c0 - 0x0cb

30-32

未使用0x0bc - 0x0bf

2f多路服務中斷

0x0b8 - 0x0bb

2e基本shell程式裝入

0x0ac - 0x0b7

2b-2d

未使用0x0a8 - 0x0ab

2amicrosoft 網路介面

0x0a4 - 0x0a7

29快速寫字元

0x0a0 - 0x0a3

28dos安全使用

0x09c - 0x09f

27終止並駐留程式

0x098 - 0x09b

26絕對磁碟寫功能

0x094 - 0x097

25絕對磁碟讀功能

0x090 - 0x093

24嚴重錯誤處理(使用者不能直接呼叫)

0x08c - 0x08f

23ctrl+break 處理位址(使用者不能直接呼叫)

0x088 - 0x08b

22程式中止時dos返回位址(使用者不能直接呼叫)

0x084 - 0x087

21dos系統功能呼叫

0x080 - 0x083

20dos中斷返回

資料表指標

0x07c - 0x07f

1f圖形字元擴充套件碼

0x078 - 0x07b

1e軟盤引數塊

0x074 - 0x077

1d提供給使用者的中斷

0x070 - 0x073

1c定時器控制的軟中斷

0x06c - 0x06f

1bctrl + break控制的軟中斷

bios中斷

0x068 - 0x06b

1a時鐘管理

0x064 - 0x067

19引導裝入程式--系統自舉

0x060 - 0x063

18basic入口**--rom basic入口**

0x05c - 0x05f

17印表機輸出

0x058 - 0x05b

16鍵盤i/o

0x054 - 0x057

15盒式磁帶i/o

0x050 - 0x053

14rs-232序列通訊口i/o

0x04c - 0x04f

13磁碟i/o

0x048 - 0x04b

12測定儲存器容量

0x044 - 0x047

11裝置檢驗

0x040 - 0x043

10螢幕顯示i/o

8259中斷向量

0x03c - 0x03f

flpt2控制器中斷--並行印表機(irq7)

0x038 - 0x03b

e磁碟控制器中斷--軟磁碟(irq6)

0x034 - 0x037

dlpt2控制器中斷--硬磁碟(並行口)(irq5)

0x030 - 0x033

c非同步通訊(primary)--序列通訊介面1(irq4)

0x02c - 0x02f

b非同步通訊(secondary)--序列通訊介面2(irq3)

0x028 - 0x02b

a彩色/圖形(irq2)

0x024 - 0x027

9鍵盤(irq1)

0x020 - 0x023

8定時器(irq0)

8088中斷向量

0x01c - 0x01f7保留

0x018 - 0x01b6保留

0x014 - 0x017

5列印螢幕

0x010 - 0x0134溢位

0x00c - 0x00f

3斷點指令

0x008 - 0x00b

2非遮蔽中斷

0x004 - 0x007

1單步(用於debug)

0x000 - 0x003

0除以零

BIOS 中斷向量表

在bochs虛擬器除錯中輸入info ivt可以檢視bios中斷向量表 具體說明如下 中斷描述 int 00h cpu 除零錯,或商不合法時觸發 int 01h cpu 單步陷阱,tf標記為開啟狀態時,每條指令執行後觸發 int 02h cpu 非可遮蔽中斷,如引導自我測試時發生記憶體錯誤。int ...

BIOS 中斷向量表

中斷 描述int 00h cpu 除零錯,或商不合法時觸發 int 01h cpu 單步陷阱,tf標記為開啟狀態時,每條指令執行後觸發 int 02h cpu 非可遮蔽中斷,如引導自我測試時發生記憶體錯誤。int 03h cpu 第乙個未定義的中斷向量,約定俗成僅用於除錯程式 int 04h cpu...

中斷向量表

中斷向量表 中斷源的識別標誌,可用來形成相應的中斷服務程式的入口位址或存放中斷服務程式的首位址 稱為中斷向量。在pc at中由硬體產生的中斷標識碼被稱為中斷型別號 當然,中斷型別號還有其他的產生方法,如指令中直接給出 cpu自動形成等 即在中斷響應期間 8259a 產生的是當前請求中斷的最高優先順序...