1. 程式人生 > >x86中斷(一)-中斷分類

x86中斷(一)-中斷分類

一、中斷分類 

       x86系統支援256箇中斷源,每個中斷源使用0~255數字標識,該標識稱作中斷向量號(即CPU中斷源的中斷號,要與外部中斷的中斷號IRQ n相區別),CPU通過獲取中斷向量號識別中斷源。256箇中斷源可以分為:



  其中:

         1)內部中斷:由CPU內部事件及執行軟中斷指令產生,由除法中斷、溢位中斷、單步中斷、斷點中斷、軟體中斷組成;

         2)外部中斷:x86 CPU為外部中斷只提供了NMI、INTR兩個引腳;其中外部不可遮蔽中斷如匯流排錯誤、電源錯誤、記憶體錯誤等引起的中斷,通過NMI引腳提供給CPU;外部可遮蔽中斷通過INTR引腳向CPU傳遞中斷

二、中斷向量及中斷源

CPU中斷向量

I/O ADDR

INT TYPE(中斷向量)

FUNCTION

00 ~ 03

0

除法溢位中斷

04 ~ 07

1

單步(用於DEBUG)

08 ~ 0B

2

非遮蔽中斷(NMI)

0C ~ 0F

3

斷點中斷(用於DEBUG)

10 ~ 13

4

溢位中斷

14 ~ 17

5

列印螢幕

18 ~ 1F

6,7

保留


8259中斷向量

I/O ADDR

INT TYPE(中斷向量)

FUNCTION

20 ~ 23

8

定時器(IRQ0)

24 ~ 27

9

鍵盤(IRQ1)

28 ~ 2B

A

彩色/圖形(IRQ2)

2C ~ 2F

B

序列通訊COM2 (IRQ3)

30 ~ 33

C

序列通訊COM1 (IRQ4)

34 ~ 37

D

LPT2控制器中斷(IRQ5)

38 ~ 3B

E

磁碟控制器中斷(IRQ6)

3C ~ 3F

F

LPT1控制器中斷(IRQ7)

BIOS中斷向量

I/O ADDR

INT TYPE

FUNCTION

40 ~43

10

視訊顯示I/O

44 ~ 47

11

裝置檢驗

48 ~ 4B

12

測定儲存器容量

4C ~ 4F

13

磁碟I/O

50 ~ 53

14

RS-232 序列口I/O

54 ~ 57

15

系統描述表指標

58 ~ 5B

16

鍵盤I/O

5C ~ 5F

17

印表機I/O

60 ~ 63

18

ROM BASIC 入口程式碼

64 ~ 67

19

引導裝入程式

68 ~ 6B

1A

日時鐘

提供給使用者的中斷

I/O ADDR

INT TYPE(中斷向量)

FUNCTION

6C ~ 6F

1B

Ctrl - Break控制的軟中斷

70 ~ 73

1C

定時器控制的軟中斷

引數表指標

I/O ADDR

INT TYPE(中斷向量)

FUNCTION

74 ~ 77

1D

視訊引數塊

78 ~ 7B

1E

軟盤引數塊

7C ~ 7F

1F

圖形字元擴充套件碼

DOS中斷向量

I/O ADDR

INT TYPE(中斷向量)

FUNCTION

80 ~ 83

20

DOS中斷返回

84 ~ 87

21

DOS系統功能呼叫

88 ~ 8B

22

程式中止時DOS返回地址(使用者不能直接呼叫)

8C ~ 8F

23

Ctrl - Break 處理地址(使用者不能直接呼叫)

90 ~ 93

24

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

94 ~ 97

25

絕對磁碟讀功能

98 ~ 9B

26

絕對磁碟寫功能

9C ~ 9F

27

終止並駐留程式

A0 ~ A3

28

DOS安全使用

A4 ~ A7

29

快速寫字元

A8 ~ AB

2A

Microsoft 網路介面

B8 ~ BB

2E

基本 SHELL程式裝入

BC ~ BF

2F

多路服務中斷

CC ~ CF

33

滑鼠中斷

104 ~ 107

41

硬碟引數塊

118 ~ 11B

46

第二硬碟引數塊

11C ~ 3FF

47 ~ FF

BASIC 中斷