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 產生的是當前請求中斷的最高優先順序...