任何程序的運行均離不開一定的硬件環境和軟件環境。 基本硬件環境包括CPU、存儲器、I/O設備(鍵盤、磁盤、打印機、顯示卡等),關於CPU和存儲器,已經作了一些瞭解。
從原理上講,使用IN/OUT指令可以控制任何I/O設備。以打印機爲例,使用IN指令可以讀入打印機的狀態(有/無紙、能否接收新的數據等)、使用OUT指令把數據送給打印機、給打印機發控制命令(移動打印頭、某些打印針擊打)。
一個簡單的I/O設備使用要求,需要一系列IN/OUT等控制指令,可以把一些基本使用要求編寫爲子程序,供調用。
事實上,BIOS中,以中斷處理程序的形式提供了微機中基本I/O設備的控制程序,稱爲"BIOS中斷",應用程序可以用"INT n"指令調用這些程序。
程序運行的主要軟件環境是操作系統。操作系統爲程序運行提供基本的服務,如,程序的裝入、結束,內存的分配,文件管理等。以DOS操作系統爲例,它也以中斷處理程序的形式提供這些服務,稱爲"DOS中斷", 應用程序也用"INT n"指令調用這些服務。 MS_DOS的DOS中斷是由IO.SYS、MSDOS.SYS兩個文件提供的中斷處理程序。(PC_DOS:IBMBIO.COM、IBMDOS.COM)。
PC系列機有256種中斷類型,8086CPU使用其中5個(0號除數爲0中斷、1號單步中斷、2號NMI中斷、3號斷點中斷、4號溢出中斷),80286及以上系統中,通過中斷控制器8259使用的硬件中斷爲16個。其餘中斷類型爲BIOS中斷和DOS中斷,它們稱爲"軟件中斷"。
類型號 | 中斷處理程序功能 | 類型號 | 中斷處理程序功能 |
0
|
除數爲0中斷 |
1
|
單步中斷 |
2
|
NMI中斷 |
3
|
斷點中斷 |
4
|
溢出中斷 |
5
|
打印屏幕 |
6
|
保留 |
7
|
保留 |
8
|
定時中斷( 中斷) |
9
|
鍵盤中斷( 中斷) |
A
|
保留( 中斷) |
B
|
串行口COM2( 中斷) |
C
|
串行口COM1( 中斷) |
D
|
硬盤中斷( 中斷) |
E
|
軟盤中斷( 中斷) |
F
|
打印機中斷( 中斷) |
10
|
CRT顯示驅動程序 |
11
|
設備檢測 |
12
|
存儲器容量檢測 |
13
|
磁盤I/O驅動程序 |
14
|
RS-232 I/O驅動程序 |
15
|
磁帶機I/O處理 |
16
|
鍵盤I/O驅動程序 |
17
|
打印機驅動程序 |
18
|
ROM BASIC |
19
|
系統引導 |
1A
|
BIOS日期、時鐘中斷 |
1B
|
BIOS提供的Ctrl_Break處理 |
1C
|
定時器時標(54.9ms) |
1D
|
CRT初始化參數表 |
1E
|
磁盤參數 |
1F
|
圖形字符集 |
20
|
程序結束 |
21
|
DOS系統功能調用 |
22
|
結束地址 |
23
|
DOS的Ctrl_Break處理 |
24
|
嚴重錯誤處理 |
25
|
磁盤順序讀 |
26
|
磁盤順序寫 |
27
|
程序結束且駐留(TSR) |
28~2E
|
爲DOS保留 |
2F
|
DOS內部使用 |
30~3F
|
DOS保留 |
40~7F
|
未用 |
80~85
|
BASIC保留 |
86~F0
|
BASIC使用 |
F0~FF
|
未用 |
/
|
/ |
另外,設備製造商提供的設備控制程序(稱爲驅動程序Driver)可能替換BIOS中斷和DOS中斷。
當前,驅動程序的概念使用非常廣泛,它泛指軟件與硬件或其他軟件的接口程序。