資源描述:
《微機原理伍-中斷ppt課件.ppt》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、第七章中斷7.1中斷與中斷控制7.2可編程中斷控制器8259A7.3中斷向量表的建立方法7.4CPU的中斷處理順序7.1中斷與中斷控制1.中斷的概念中斷(中斷/異常)中斷源中斷請求中斷響應中斷處理中斷返回2.中斷分類按中斷源的性質(zhì)可以把中斷分類:(1).外部硬件中斷中斷源是外部硬電路。通過CPU的NMI引腳或INTR引腳向CPU提出中斷請求。INTR:可屏蔽中斷,受CPU內(nèi)標志寄存器中IF位的屏蔽NMI:非屏蔽中斷,不受IF位的屏蔽。CPU每執(zhí)行完一條指令,檢測NMI和INTR引腳上有無中斷請求。(2).內(nèi)部異常中斷中斷源是CPU內(nèi)部正在執(zhí)行的過程發(fā)生的異
2、常情況。如除法操作時結果太大(分母太小);訪問某個頁或段時,該頁或段正好不在內(nèi)存;系統(tǒng)的硬件、軟件(各種系統(tǒng)用表)發(fā)生錯誤。3.中斷優(yōu)先順序CPU的中斷優(yōu)先權排列從高到低為:(1)除法出錯中斷,溢出中斷,INTn(2)NMI(非屏蔽)(3)INTR(可屏蔽)(4)單步中斷4.中斷類型碼中斷類型碼是連接中斷源和中斷處理程序的唯一橋梁。80X86可處理256級中斷,中斷類型碼可以是0~255,一部分由系統(tǒng)占用,一部分用戶可以支配。比如:除法錯誤(n=0)調(diào)試異常(n=1)NMI中斷(n=2)斷點中斷(n=3)溢出中斷(n=4)……5.中斷處理順序6.中斷向量表
3、和中斷描述符表每個中斷都分配有中斷類型碼,CPU通過中斷類型碼經(jīng)過處理要找到對應的中斷服務程序的入口地址。.實模式:由中斷向量表將中斷類型碼和中斷服務程序的入口地址聯(lián)系起來;.保護模式:是由中斷描述符表來對二者進行聯(lián)系。實模式下幾個重要概念:中斷向量表:設置在系統(tǒng)RAM的最低端00000H~003FFH的1K字節(jié)內(nèi),表中共有256個中斷類型碼對應的向量值。(256*4=1K)中斷向量:每個向量占用4個字節(jié),稱為中斷向量。前2個字節(jié)為中斷服務程序入口地址的偏移地址IP,后2個字節(jié)為服務程序的段基址CS。向量地址:這4個單元的地址中的最小地址稱為向量地址。規(guī)定
4、:中斷向量表中各向量等長,且處理程序入口地址在向量表中按中斷源的類型碼排序。重要公式:向量地址=向量表的首地址+中斷類型碼*4討論:已知中斷類型碼n,如何得到中斷服務程序入口地址?保護模式:.中斷描述符表(IDT):在內(nèi)存中的首地址保存在CPU內(nèi)部的IDTR系統(tǒng)寄存器中。.CPU響應中斷過程中,CPU把中斷類型碼乘以8,與IDTR中的基地址相加,指示中斷描述符表中的某一中斷門或陷阱門(8個字節(jié)組成)。.CPU將門描述符中的選擇符送CS寄存器,并根據(jù)選擇符中TI位從LDT或GDT中選擇一個段描述符,送入CS的段描述符寄存器中。.由段描述符中的基地址和門描述符
5、中的偏移地址確定中斷服務程序的入口地址。7.3中斷向量表的建立方法7.3.1絕對地址置入法AT指定段地址(16位),ORG指定偏移地址,用DD偽指令將中斷服務程序的首地址裝入。INTTBLSEGMENTAT0ORGn*4DDINT_VCEINTTBLENDS……MCODESEGMENT;主程序……INT_VCEPROCFAR;中斷服務程序……IRET7.3.2使用串指令裝入法ES設定為0,DI中設定為n*4,使用STOSW指令、即可完成中斷服務程序首地址的裝入。CLI;禁止中斷MOVAX,0MOVES,AX;置向量表段地址MOVDI,n*4H;置向
6、量表偏移地址MOVAX,OFFSETINT_VCE;中斷服務程序偏移地址CLDSTOSWMOVAX,SEGINTV_CE;中斷服務程序段地址STOSWSTI7.3.3使用DOS調(diào)用法利用DOS中斷21H以及專門為更新中斷服務程序地址的25H號功能來設置中斷地址。使用25H功能時要求:AL=中斷類型號,DS∶DX=中斷服務程序首地址的段、偏移地址。PUSHDS;保存當前數(shù)據(jù)段MOVDX,SEGINT60HMOVDS,DXMOVDX,OFFSETINT60HMOVAL,60H;設中斷類型號為60HMOVAH,25HINT21HPOPDS7.3.4直接接入法例:
7、外設的中斷類型號為6BH,設中斷服務程序段地址為1000H,偏移地址為2000H。建立中斷向量表。重要概念中斷向量表:設置在系統(tǒng)RAM的最低端00000H~003FFH的1K字節(jié)內(nèi),表中共有256個中斷類型碼對應的向量值。(256*4=1K)中斷向量:每個向量占用4個字節(jié),稱為中斷向量。前兩個字節(jié)為中斷服務程序入口地址的偏移地址IP,后兩個字節(jié)為服務程序的段基址CS。中斷向量表——將中斷類型碼和中斷服務程序的入口地址聯(lián)系起來中斷類型號(6BH)對應的中斷向量表地址為:從001ACH開始的4個存儲單元6BH×4=001ACH00H20H00H10H001AC
8、H中斷向量表IP地址CS地址中斷類型號n×4中斷服務程序IP、CS