天天看點

彙編語言-int指令

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中斷例程的安裝過程

  1. 開機後,CPU一加電,初始化(CS)=0FFFFH,(IP)=0,自動從FFFF:0單元開始執行程式。FFFF:0處有一條轉跳指令,CPU執行該指令後,轉去執行BIOS中的硬體系統檢測和初始化程式。
  2. 初始化程式将建立BIOS所支援的中斷向量,即将BIOS提供的中斷例程的入口位址登記在中斷向量表中。注意,對于BIOS所提供的中斷例程,隻需将入口位址登記在中斷向量表中即可,因為它們是固化到ROM中的程式,一直在記憶體中存在。
  3. 硬體系統檢測和初始化完成後,調用int 19h進行作業系統的引導。從此将計算機交給作業系統控制。
  4. DOS啟動後,除完成其他工作外,還将它所提供的中斷例程裝入記憶體,并建立相應的中斷向量。

繼續閱讀