軟中斷
(內部中斷)也可分兩類:
※由軟中斷指令啟動的中斷;
※在一定條件下由CPU自身啟動的中斷。
內部中斷包括
※ 被零除中斷(INT 0):
執行除法指令時,出現除數為0或商超過暫存器所能表達的範圍,則產生類型為0 的內部中斷。它是優先權最高的內部中斷。
※ 單步中斷(INT 1):
當TF=1且IF=1時每執行一條指令就引起一次中斷,程式控制將轉入單步中斷服務 程式。單步中斷方式是一種有用的調試手段,可以跟蹤指令流程,從而確定程式出錯的位置。
※ 溢出中斷(INTO INT 4):
若指令執行結果使溢出標誌位置1(OF=1),則在執行溢出中斷指令 (INTO)時,引起類型4的內部中斷。與被零除中斷不同的是,出現溢出狀態時不會由上一條指令自動 產生中斷,必須由INTO指令執行溢出中斷。
※ 斷點中斷(INT 3):
8086/8088指令中有一條單位元組中斷指令(INT 3),執行後CPU轉向執行一個 斷點中斷服務程式。使用該指令可以在程式的任何地方設定斷點,從而在調試程式時檢查程式的運行結果。
※ 指令中斷:
軟體中斷調用 (INT n ),用戶定義的雙位元組中斷指令,第一個位元組為操作碼,第2個位元組n是 中斷類型號。
內部中斷特點
1.內部中斷由一條指令INT n產生中斷類型碼或者由指令規定,或者是預定的。
2.不執行INTA匯流排周期,CPU也不發出回響信號INTA。
3.除單步中斷外,內部中斷無法用軟體禁止。
4.除單步中斷外,內部中斷比外部中斷具有更高的優先權別。