內部中斷是指由軟中斷指令啟動的中斷,也可以是在特定條件下由CPU自身啟動的中斷。
類型
- 由軟中斷指令啟動的中斷。
- 在一定條件下由CPU自身啟動的中斷。
指令
被零除中斷(INT 0)
當執行除法指令時,如果出現除數為0或商超出寄存器所能表示的范圍的情況,就會觸發類型為0的內部中斷。這是所有內部中斷中優先級最高的一種。
單步中斷(INT 1)
當TF=1且IF=1時,每執行一條指令都會引發一次中斷,程序控制會轉移到單步中斷服務程序。這種中斷方式對于程序調試非常有用,因為它能夠追蹤指令流,幫助定位程序錯誤。
溢出中斷(INTO INT 4)
如果指令執行的結果導致溢出標志位OF置1,那么在執行溢出中斷指令INTO時,將會觸發類型為4的內部中斷。需要注意的是,溢出狀態并不會自動觸發中斷,而是需要通過INTO指令來實現。
斷點中斷(INT 3)
8086/8088指令集包含了一個單字節中斷指令INT 3,其作用是讓CPU跳轉至斷點中斷服務程序。這個指令允許程序員在程序任意位置設置斷點,以便在調試過程中檢查程序的運行結果。
指令中斷
這是一種由用戶定義的雙字節中斷指令,其中第一個字節是操作碼,第二個字節n代表中斷類型號。
特點
1. 內部中斷可以通過INT n指令產生中斷類型碼,或者由指令指定,也可能是預設的。
2. 不執行INTA總線周期,CPU也不會發送響應信號INTA。
3. 除了單步中斷之外,其他內部中斷無法通過軟件禁用。
4. 除了單步中斷之外,內部中斷的優先級高于外部中斷。
參考資料 >
stm32入門學習4-內部中斷.CSDN博客.2024-11-05
外部中斷和內部中斷.博客園.2024-11-05
外部中斷和內部中斷 硬中斷 軟中斷 中斷下半部.CSDN博客.2024-11-05