int 指令
int 指令的格式為:int n,n為中斷類型碼,它的功能是引發終端過程。
CPU執行int n指令,相當于引發一個n号中斷的中斷過程,執行過程如下。
- 取中斷類型碼n;
- 标志寄存器入棧,IF=0,TF=0;
- CS,IP入棧;
- (IP)=(N4),(CS)=(N4+2)
從此轉去執行n号中斷的中斷處理程式。
int指令的最終功能和call指令相似,都是調用一段程式。
BIOS和DOS所提供的中斷
BIOS(基本輸入輸出系統)中主要包含以下幾部分内容:
- 硬體系統的檢測和初始化程式
- 外部中斷和内部中斷的中斷例程。
- 用于對硬體裝置進行I/O操作的中斷例程
- 其他和硬體系統相關的中斷例程。
作業系統DOS也提供了中斷例程,從作業系統的角度看,DOS的中斷例程就是作業系統向程式員提供的程式設計資源。
BIOS和DOS在所提供的中斷例程中包含了許多子程式,這些子程式實作了程式員在程式設計的時候經常需要用到的功能。程式員在程式設計的時候,可以用int指令直接調用BIOS和DOS提供的中斷例程,來完成某些工作。
和硬體裝置相關的DOS中斷例程中,一般都調用了BIOS的中斷例程。
BIOS和DOS中斷例程的安裝過程
- 開機後,CPU一加電,初始化(CS)=0FFFFH,(IP)=0,自動從FFFF:0單元開始執行程式。FFFF:0處有一條轉跳指令,CPU執行該指令後,轉去執行BIOS中的硬體系統檢測和初始化程式。
- 初始化程式将建立BIOS所支援的中斷向量,即将BIOS提供的中斷例程的入口位址登記在中斷向量表中。注意,對于BIOS所提供的中斷例程,隻需将入口位址登記在中斷向量表中即可,因為它們是固化到ROM中的程式,一直在記憶體中存在。
- 硬體系統檢測和初始化完成後,調用int 19h進行作業系統的引導。從此将計算機交給作業系統控制。
- DOS啟動後,除完成其他工作外,還将它所提供的中斷例程裝入記憶體,并建立相應的中斷向量。