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