![中斷服務(wù)程序的編寫(xiě).ppt_第1頁(yè)](http://file.renrendoc.com/FileRoot1/2019-2/1/bf407332-51d2-4aec-a8e0-943b58287461/bf407332-51d2-4aec-a8e0-943b582874611.gif)
![中斷服務(wù)程序的編寫(xiě).ppt_第2頁(yè)](http://file.renrendoc.com/FileRoot1/2019-2/1/bf407332-51d2-4aec-a8e0-943b58287461/bf407332-51d2-4aec-a8e0-943b582874612.gif)
![中斷服務(wù)程序的編寫(xiě).ppt_第3頁(yè)](http://file.renrendoc.com/FileRoot1/2019-2/1/bf407332-51d2-4aec-a8e0-943b58287461/bf407332-51d2-4aec-a8e0-943b582874613.gif)
![中斷服務(wù)程序的編寫(xiě).ppt_第4頁(yè)](http://file.renrendoc.com/FileRoot1/2019-2/1/bf407332-51d2-4aec-a8e0-943b58287461/bf407332-51d2-4aec-a8e0-943b582874614.gif)
![中斷服務(wù)程序的編寫(xiě).ppt_第5頁(yè)](http://file.renrendoc.com/FileRoot1/2019-2/1/bf407332-51d2-4aec-a8e0-943b58287461/bf407332-51d2-4aec-a8e0-943b582874615.gif)
已閱讀5頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
7.2 內(nèi)部中斷服務(wù)程序,編寫(xiě)內(nèi)部中斷服務(wù)程序與編寫(xiě)子程序類(lèi)似 利用過(guò)程定義偽指令PROC/ENDP 第1條指令通常為開(kāi)中斷指令STI 最后用中斷返回指令I(lǐng)RET 通常采用寄存器傳遞參數(shù) 主程序需要調(diào)用中斷服務(wù)程序 調(diào)用前,需要設(shè)置中斷向量 利用INT n指令調(diào)用中斷服務(wù)程序,例7.1 內(nèi)部中斷服務(wù)程序,編寫(xiě)80H號(hào)中斷服務(wù)程序 功能:顯示以“0”結(jié)尾字符串的功能 利用顯示器功能調(diào)用INT 10H 字符串緩沖區(qū)首地址為入口參數(shù) DS:DX(段地址:偏移地址)傳遞參數(shù),數(shù)據(jù)段,intoff dw ? intseg dw ? intmsg db A Instruction Interrupt ! db 0dh,0ah,0,例7.1,以“0”結(jié)尾,回車(chē)、換行,保存中斷向量,mov ax,3580h int 21h mov intoff,bx ;保存偏移地址 mov intseg,es ;保存段基地址,例7.1,獲取中斷向量(DOS功能調(diào)用INT 21H) 功能號(hào):AH35H 入口參數(shù):AL中斷向量號(hào) 出口參數(shù):ES:BX中斷向量(段地址:偏移地址),設(shè)置中斷向量,push ds mov dx,offset new80h mov ax,seg new80h mov ds,ax mov ax,2580h int 21h pop ds,例7.1,設(shè)置中斷向量(DOS功能調(diào)用INT 21H) 功能號(hào):AH25H 入口參數(shù):AL中斷向量號(hào) DS:DX中斷向量(段地址:偏移地址),調(diào)用中斷服務(wù)程序,;設(shè)置入口參數(shù): DS段地址(已設(shè)置) DX偏移地址 mov dx,offset intmsg int 80h ;調(diào)用80H中斷服務(wù)程序,例7.1,A Instruction Interrupt !,;80H號(hào)內(nèi)部中斷服務(wù)程序: ;顯示字符串(以“0”結(jié)尾) ;入口參數(shù):DS:DX緩沖器首地址 new80h proc sti ;開(kāi)中斷 push ax ;保護(hù)寄存器 push bx push si,例7.1,進(jìn)入中斷服務(wù)程序,A Instruction Interrupt !,顯示字符串,mov si,dx new1: mov al,si cmp al,0 jz new2 mov bx,0 mov ah,0eh int 10h inc si jmp new1,例7.1,A Instruction Interrupt !,退出中斷服務(wù)程序,new2: pop si ;恢復(fù)寄存器 pop bx pop ax iret ;中斷返回 new80h endp,例7.1,A Instruction Interrupt !,主程序結(jié)束,mov dx,intoff mov ax,intseg mov ds,ax mov ax,2580h int 21h mov ax,4c00h int 21h,例7.1,A Instruction Interrupt !,7.3 8259A中斷控制器,Intel 8259A是可編程中斷控制器PIC 可用于管理Intel 8080/8085、8086/8088、80286/80386的可屏蔽中斷 8259A的基本功能 一片8259A可以管理8級(jí)中斷,可擴(kuò)展至64級(jí) 每一級(jí)中斷都可單獨(dú)被屏蔽或允許 在中斷響應(yīng)周期,可提供相應(yīng)的中斷向量號(hào) 8259A設(shè)計(jì)有多種工作方式,可通過(guò)編程選擇,初始化主片8259A,mov al,11h ;寫(xiě)入ICW1 out 20h,al jmp intr1 intr1: mov al,08h ;寫(xiě)入ICW2 out 21h,al jmp intr2 intr2: mov al,04h ;寫(xiě)入ICW3 out 21h,al jmp intr3 intr3: mov al,1h ;寫(xiě)入ICW4 out 21h,al,中斷控制器的初始化程序段,初始化從片8259A,mov al,11h ;寫(xiě)入ICW1 out 0a0h,al jmp intr5 intr5: mov al,70h ;寫(xiě)入ICW2 out 0a1h,al jmp intr6 intr6: mov al,02h ;寫(xiě)入ICW3 out 0a1h,al jmp intr7 intr7: mov al, 01h ;寫(xiě)入ICW4 out 0a1h,al,中斷控制器的初始化程序段,2. 操作命令字OCW,8259A工作期間,可以隨時(shí)接受操作命令字OCW OCW共有3個(gè):OCW1OCW3 寫(xiě)入時(shí)沒(méi)有順序要求,需要哪個(gè)OCW就寫(xiě)入那個(gè)OCW,OCW1,屏蔽命令字 內(nèi)容寫(xiě)入中斷屏蔽寄存器IMR DiMi對(duì)應(yīng)IRi,為1禁止IRi中斷; 為0允許IRi中斷。各位互相獨(dú)立。,OCW2,R、SL和EOI配合使用 產(chǎn)生中斷結(jié)束EOI命令和改變優(yōu)先權(quán)順序,L2L0的3位編碼 指定IR引腳,7.5 外部中斷服務(wù)程序,編寫(xiě)外部可屏蔽中斷服務(wù)程序,需注意: 發(fā)送中斷結(jié)束命令 一般只能采用存儲(chǔ)單元傳遞參數(shù) 不要使用DOS系統(tǒng)功能調(diào)用 中斷服務(wù)程序盡量短小,7.5 外部中斷服務(wù)程序(續(xù)),編寫(xiě)主程序,需注意: 修改中斷向量 控制CPU的中斷允許標(biāo)志 設(shè)置8259A的中斷屏蔽寄存器,例題7.2 可屏蔽中斷服務(wù)程序,8259A的IRQ0(向量號(hào)為08H)中斷請(qǐng)求來(lái)自定時(shí)器8253,每隔55ms產(chǎn)生一次 本程序的08H號(hào)中斷服務(wù)程序,每次中斷顯示一串信息,顯示10次 用內(nèi)存單元(共享變量)在主程序與外部中斷服務(wù)程序之間傳遞參數(shù):中斷次數(shù) 顯示信息也安排在共同的數(shù)據(jù)段中,數(shù)據(jù)段,intmsg db A 8259A Interrupt ! db 0dh,0ah,0 counter db 0,例7.2,保存中斷向量,mov ax,3508h int 21h push bx ;保存偏移地址 push es ;保存段基地址,例7.2,設(shè)置中斷向量,cli push ds mov dx,offset new08h mov ax,seg new08h mov ds,ax mov ax,2508h int 21h pop ds,例7.2,設(shè)置中斷寄存器,in al,21h push ax and al,0feh ;允許IRQ0 out 21h,al mov counter,0 ;設(shè)置中斷次數(shù)初值 sti ;開(kāi)中斷,例7.2,循環(huán)等待中斷,start1: cmp counter,10 jb start1 ;中斷10次退出,例7.2,中斷就在主程序循環(huán)當(dāng)中,new08h proc sti ;開(kāi)中斷 push ax ;保護(hù)寄存器 push bx push ds mov ax,data mov ds,ax ;設(shè)置數(shù)據(jù)段DS,例7.2,進(jìn)入中斷服務(wù)程序,中斷處理,inc counter mov si,offset intmsg ;顯示信息 call dpstri,例7.2,顯示字符串,dpstri proc ;顯示字符串子程序 push ax push bx dps1: lodsb cmp al,0 jz dps2,例7.2,顯示字符串(續(xù)),mov bx,0 mov ah,0eh int 10h jmp dps1 dps2: pop bx pop ax ret dpstri endp,例7.2,退出中斷服務(wù)程序,mov al,20h out 20h,al pop ds ;恢復(fù)寄存器 pop bx pop ax iret ;中斷返回 new08h endp,例7.2,主程序結(jié)束,cli pop ax out 21h,al pop dx pop ds mov ax,2508h int 21h sti mov ax,4c00h int 21h,例7.2,A 8259A Interrupt ! A 8259A Interrupt ! A 8259A Interrupt ! A 8259A Interrupt ! A 8259A Interrupt ! A 8259A Interrupt ! A 8259A Interrupt ! A 8259A Interrupt ! A 8259A Interrupt ! A 8259A Interrupt !,7.6 駐留中斷服務(wù)程序,駐留TSR(Terminate and Stay Resident)程序 用戶程序運(yùn)行后仍然保存在主存中,可以讓其他程序使用 利用DOS功能調(diào)用31H代替4CH終止程序 小型駐留程序常編寫(xiě)成COM程序 駐留程序也可以編寫(xiě)成EXE程序 需要駐留內(nèi)存的程序段要寫(xiě)在前面,例題7.3 報(bào)時(shí)中斷駐留服務(wù)程序,系統(tǒng)08H號(hào)中斷服務(wù)程序調(diào)用1CH中斷 每隔55ms調(diào)用這個(gè)報(bào)時(shí)中斷,中斷65543次就是時(shí)間過(guò)了一個(gè)小時(shí) 本例編寫(xiě)一個(gè)駐留內(nèi)存的1CH內(nèi)部中斷服務(wù)程序 實(shí)現(xiàn)每過(guò)一小時(shí)就顯示信息 執(zhí)行此程序后,報(bào)時(shí)中斷服務(wù)程序?qū)Ⅰv留內(nèi)存,new1ch proc sti ;開(kāi)中斷 push si ;保護(hù)寄存器 push ds mov si,cs mov ds,si ;設(shè)置數(shù)據(jù)段DS add countl,1 adc counth,0,例7.3,進(jìn)入中斷服務(wù)程序,中斷處理,cmp countl,hourl jnz n1ch1 cmp counth,hourh jnz n1ch1 mov countl,0 mov counth,0 mov si,offset intmsg call dpstri,例7.3,退出中斷服務(wù)程序,n1ch1: pop ds ;恢復(fù)寄存器 pop si iret ;中斷返回 countl dw 0 counth dw 0 intmsg db One Hour Has Passed ! db 0dh,0ah,0 new1ch endp,例7.3,One Hour Has Passed !,顯示字符串,dpstri proc ;顯示字符串子程序 push ax push bx dps1: lodsb cmp al,0 jz dps2,例7.3,顯示字符串(續(xù)),mov bx,0 mov ah,0eh int 10h jmp dps1 dps2: pop bx pop ax ret dpstri endp,例7.3,主程序開(kāi)始,start: mov ax,cs mov ds,ax mov dx,offset new1ch cli mov ax,251ch int 21h sti mov dx,offset tsrmsg mov ah,09h int 21h,例7.3,主程序結(jié)束,mov dx,offset start add dx,15 mov cl,4 shr dx,cl add dx,10h mov ax,3100h ;程序駐留 int 21h tsrmsg db INT 1CH Program Installed ! db 0dh,0ah,$ end start,例7.3,INT 1CH Program Installed !,第7章教學(xué)要求,1. 熟悉8088的中斷類(lèi)型、中斷響應(yīng)過(guò)程、中斷向量表 2. 掌握內(nèi)部中斷服務(wù)程序的編寫(xiě) 3. 理解8259A的內(nèi)部結(jié)構(gòu)、寄存器作用、中斷過(guò)程 4. 掌握8259A的普通全嵌套優(yōu)先權(quán)、普通中斷結(jié)束、邊沿觸發(fā)方式,第7章教學(xué)要求(續(xù)),5. 了解的8259A的ICW和OCW,注意命令字和狀態(tài)字的區(qū)別方法 6. 了解8259A在IBM PC系列機(jī)上的應(yīng)用情況 7. 掌握外部中斷服務(wù)程序的編寫(xiě) 習(xí)題7(第189頁(yè)) 7.4 7.6 9.9 9.11 9.13,實(shí)驗(yàn)2 中斷實(shí)驗(yàn),不用實(shí)驗(yàn)臺(tái),實(shí)現(xiàn)例題程序 例7.1 內(nèi)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度出租車(chē)司機(jī)勞動(dòng)權(quán)益保護(hù)協(xié)議范本
- 二零二五年度留學(xué)生就業(yè)創(chuàng)業(yè)扶持與職業(yè)發(fā)展規(guī)劃協(xié)議
- 2025年度企業(yè)合同終止法律咨詢及執(zhí)行律師合同
- 游客卡(游客俱樂(lè)部)景區(qū)合作協(xié)議書(shū)范本
- 臺(tái)球室合伙合同范本
- 二零二五年度事業(yè)單位退休人員返聘管理合同
- 二零二五年度辣椒產(chǎn)業(yè)鏈融資擔(dān)保合同
- 2025年度砍伐合同范文:綠色林業(yè)發(fā)展合作協(xié)議
- 二零二五年度養(yǎng)老機(jī)構(gòu)護(hù)理員勞動(dòng)權(quán)益保障與管理協(xié)議
- 2025年度車(chē)輛不過(guò)戶責(zé)任界定與賠償標(biāo)準(zhǔn)協(xié)議
- 城鄉(xiāng)環(huán)衛(wèi)一體化保潔服務(wù)迎接重大節(jié)日、活動(dòng)的保障措施
- 醫(yī)院-9S管理共88張課件
- 設(shè)立登記通知書(shū)
- 高考作文復(fù)習(xí):議論文論證方法課件15張
- 2022醫(yī)學(xué)課件前列腺炎指南模板
- MySQL數(shù)據(jù)庫(kù)項(xiàng)目式教程完整版課件全書(shū)電子教案教材課件(完整)
- 藥品生產(chǎn)質(zhì)量管理工程完整版課件
- 《網(wǎng)絡(luò)服務(wù)器搭建、配置與管理-Linux(RHEL8、CentOS8)(微課版)(第4版)》全冊(cè)電子教案
- 職業(yè)衛(wèi)生教學(xué)課件生物性有害因素所致職業(yè)性損害
- 降“四高”健康教育課件
- 五十鈴、豐田全球化研究
評(píng)論
0/150
提交評(píng)論