中斷處理過程:
1. 某一中斷源向CPU發起中斷請求,對于外部中斷CPU在當前指令最后一個時鐘周期查詢中斷請求信號的有效性,在系統開中斷的情況下,CPU向中斷源回送中斷應答信號,系統進入中斷響應周期。(CPU對系統內部中斷源提出的中斷請求必須響應,而且自動取得中斷服務子程序的入口地址,執行中斷服務子序;
2. CPU響應中斷后,將狀態標志寄存器壓入堆棧保護;
3. 再將其中的中斷標志位清除從而關閉中斷;
4. CPU將當前CS(代碼段地址)和IP(將要執行的下一條地址)壓入堆棧保護斷點;
5. CPU確定提出請求的中斷源,獲得中斷向量號,在對應的中斷向量表獲得中斷入口地址, 裝入CS和IP中;
6. 將斷點處各寄存器的內容壓入堆棧保護現場;
7. 此時程序跳轉至中斷服務子程序執行;
8. 中斷處理完畢,將堆棧各寄存器內容彈棧,恢復斷點處各寄存器的值;
9. 在中斷服務子程序最后安排一條返回指令,執行該指令將堆棧中CS和IP的值彈出,恢復主程序斷點處地址值,同時恢復標志寄存器的內容。程序轉至被中斷的程序繼續執行。
更多關于“物聯網培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學,課程大綱緊跟企業需求,更科學更嚴謹,每年培養泛IT人才近2萬人。不論你是零基礎還是想提升,都可以找到適合的班型,千鋒教育隨時歡迎你來試聽。