




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第9章中斷程序設(shè)計(jì)教學(xué)重點(diǎn)中斷分類及中斷編程斷點(diǎn)主程序中斷服務(wù)程序中斷請求對外設(shè)進(jìn)行處理繼續(xù)執(zhí)行返回?cái)帱c(diǎn)CPU在執(zhí)行程序中,被內(nèi)部或外部的事件所打斷,轉(zhuǎn)去執(zhí)行一段預(yù)先安排好的中斷服務(wù)程序;服務(wù)結(jié)束后,又返回原來的斷點(diǎn),繼續(xù)執(zhí)行原來的程序。9.1中斷概念9.1.3一、二、一個(gè)完整中斷處理過程
1、中斷請求2、中斷判優(yōu)3、中斷響應(yīng)
4、執(zhí)行中斷處理保留斷點(diǎn),CS和IP入棧開中斷,形成中斷入口地址保護(hù)現(xiàn)場執(zhí)行中斷處理關(guān)中斷、恢復(fù)現(xiàn)場5、中斷返回9.2定制中斷處理程序編寫中斷處理子程序步驟:(1)保存現(xiàn)場,CS和IP入棧(2)開中斷,形成中斷入口地址(STI)(3)處理中斷,執(zhí)行中斷處理(4)關(guān)中斷(CLI)
(5)恢復(fù)現(xiàn)場(6)中斷返回(IRET)主程序需要調(diào)用中斷服務(wù)程序調(diào)用前,需要設(shè)置中斷向量利用INTn指令調(diào)用中斷服務(wù)程序1、設(shè)置新的中斷向量(1)首先用AH=35H的DOS系統(tǒng)調(diào)用得到原中斷處理程序地址(返回地址在ES:BX)MOVAH,35HMOVAL,80H;原中斷號(hào)INT21HMOVAX,ESMOVCSR,AX;保存原中斷程序段地址
;CS:IPMOVIPR,BX(2)其次用AH=25H的DOS系統(tǒng)調(diào)用設(shè)置新的中斷向量MOVDX,SEGINTRMOVDS,DXMOVDX,OFFSETINTRMOVAH,25HMOVAL,80H;INT21H例9.1內(nèi)部中斷服務(wù)程序編寫80H號(hào)中斷服務(wù)程序(neiint.asm)功能:顯示以“0”結(jié)尾字符串的功能利用顯示器功能調(diào)用INT10H字符串緩沖區(qū)首地址為入口參數(shù)DS:DX(段地址:偏移地址)傳遞參數(shù)程序?yàn)镹EIINT.ASM定義數(shù)據(jù)段例9.1
INTOFF DW? INTSEG DW? INTMSG DB‘AINSTRUCTIONINTERRUPT!’ DB0DH,0AH,01.保存中斷向量
MOVAX,3580H INT21H MOVINTOFF,BX ;保存偏移地址
MOVINTSEG,ES ;保存段基地址返回參數(shù)為中斷向量,在ES:BX中2.設(shè)置中斷向量
PUSHDS
MOVDX,OFFSETNEW80H MOVAX,SEGNEW80H MOVDS,AX;DS:DX傳遞中斷向量
MOVAX,2580H INT21H POPDS新的中斷向量在DS:DX中3.調(diào)用中斷服務(wù)程序
MOVDX,OFFSETINTMSG
INT80H
NEW80H PROC STI ;開中斷
PUSHAX ;保護(hù)寄存器
PUSHBX PUSHSI4.進(jìn)入中斷服務(wù)程序5.顯示字符串
MOVSI,DXNEW1: MOVAL,[SI] CMPAL,0 JZNEW2 MOVBX,0 MOVAH,0EH INT10H INCSI JMPNEW1INT10H中的功能0EH的作用:顯示單個(gè)字符。入口參數(shù)為:BL:前景色BH:頁號(hào)AL:要顯示字符6.退出中斷服務(wù)程序
NEW2: POPSI ;恢復(fù)寄存器
POPBX POPAX
IRET ;中斷返回
NEW80H ENDP7.主程序結(jié)束
MOVDX,INTOFF MOVAX,INTSEG MOVDS,AX
MOVAX,2580H INT21H MOVAX,4C00H INT21HAInstructionInterrupt!中斷調(diào)用舉例(3)時(shí)間中斷調(diào)用(1AH);(218頁)INT1AH中斷調(diào)用有2個(gè)功能,功能號(hào)在AH中,AH=0,1(1)AH=0的功能:讀取時(shí)間計(jì)數(shù)器的當(dāng)前值出口參數(shù):CX=計(jì)數(shù)值的高位字,DX=計(jì)數(shù)值的低位字,若上次讀它后,計(jì)數(shù)未超過24小時(shí),AL=0,否則不為0。時(shí)間計(jì)數(shù)器每55MS自動(dòng)加1,所以CX:DX中的數(shù)除以65536得小時(shí)數(shù),余數(shù)除1092得分?jǐn)?shù),所得余數(shù)再除18.2得秒數(shù)。(2)AH=1的功能設(shè)置時(shí)間計(jì)數(shù)器的當(dāng)前值入口參數(shù):AH=1,CX,DX出口參數(shù):時(shí)間計(jì)數(shù)器設(shè)為CX與DX中的值.將時(shí)間計(jì)數(shù)器的當(dāng)前值設(shè)置為0MOVAH,1MOVCX,0MOVDX,0INT1AH例:計(jì)算程序執(zhí)行時(shí)間STIMovah,1MOVCX,0MOVDX,0INT1AHCALLPROC1MOVAH,0INT1AH這樣時(shí)間計(jì)數(shù)器的值在CX:DX中,此數(shù)×0.055或除18.2即可得程序執(zhí)行時(shí)間。例:每隔5.5S從鍵盤讀一個(gè)字符,并將字符的ASCII碼存入緩沖區(qū),共讀50個(gè)字符
利用INT16H的0功能讀取字符,返回值在AL中X1DB100DUP(?)STR:MOVCX,50LEABX,X1STILOP1:MOVAH,1PUSHCXMOVCX,0MOVDX,0INT1AH
LOP2:MOVAH,0INT1AHCMPDL,100JNZLOP2
MOVAH,0INT16HMOV[BX],ALINCBXPOPCXLOOPLOP1HLT9.4.3DOS日期、時(shí)間功能調(diào)用讀取系統(tǒng)日期(220頁)
AH=2AHINT21H返回值(十六進(jìn)制數(shù)):
CX=年、DH=月、DL=日、AL=星期9.4.3DOS日期、時(shí)間功能調(diào)用(2)設(shè)置系統(tǒng)日期
AH=2BH
CX=年DH=月DL=日AL=星期INT21H返回值:AL=0
設(shè)置成功
AL=-1(FFH),無效。9.4.3DOS日期、時(shí)間功能調(diào)用(3)讀取系統(tǒng)時(shí)間
AH=2CH
INT21H返回值:在cx:dx(時(shí)、分、秒、百分秒)(4)設(shè)置系統(tǒng)時(shí)間
AH=2DH
在cx:dx中分別設(shè)置(時(shí)、分、……)INT21H返回值:
AL=0
成功,-1
無效。練習(xí):PC/XT機(jī)采用向量中斷方式處理級(jí)外中斷,中斷號(hào)依次為08H~0FH。在RAM0:30H單元開始依次存放23H,F(xiàn)FH,00H和F0H四個(gè)字節(jié),問該向量對應(yīng)的中斷號(hào)和中斷程序入口是()。
①0CH和23FF:00H
②
0CH和F000:FF23H
③
0BH和00F0:23FFH
④
0BH和F000:FF23H.1.設(shè)字長為八位,有x=1,y=124,則有:[xy]補(bǔ)=(),[xy]補(bǔ)=();
2、數(shù)制轉(zhuǎn)換:247.86=
H=______________BCD3.字長為8位的二進(jìn)制數(shù)10010100B,若它表示無符號(hào)數(shù),或原碼數(shù),或補(bǔ)碼數(shù),則該數(shù)的真值應(yīng)分別為:______D,______D或______D源程序如下:
MOVCX,9MOVAL,01HMOVSI,1000HNEXT:MOV[SI],ALINCSISHLAL,1LOOPNEXT
試問:執(zhí)行本程序后有:AL=_____;SI=______;CX=______;本程序的功能是________________一、I/O端口地址空間以16位為基礎(chǔ),尋址范圍在64KB
二、輸入輸出指令
(累加器專用傳輸指令)
第十章I/O端口地址1.輸入指令I(lǐng)N
格式:
INACR,PORT
功能:把外設(shè)端口(PORT)的內(nèi)容傳送給累加器(ACR),完成從I/O到CPU的數(shù)據(jù)傳送。
說明:可以傳送8位、16位,相應(yīng)的累加器選擇AL、AX。若端口號(hào)在0~255之間,則端口號(hào)直接寫在指令中(長格式);若端口號(hào)大于255(1個(gè)字節(jié)),則端口號(hào)通過DX寄存器間接尋址,即端口號(hào)應(yīng)先放入DX中。
(短格式)例.INAL,61H ;AL(61H端口)長格式INAX,20H ;AX(20H端口)MOVDX,3F8H;短格式INAL,DX ;AL(3F8H端口)演示2.輸出指令OUT
格式:OUTPORT,ACR
功能:把累加器的內(nèi)容傳送給外設(shè)端口。 說明:對累加器和端口號(hào)的選擇限制同IN指令。例.OUT61H,AL ;61H端口(AL)OUT20H,AX ;20H端口(AX)MOVDX,3F8H
OUTDX,AL ;3F8H端口(AL)演示例.設(shè)某并行打印機(jī)的狀態(tài)端口是379H,其D7位是忙閑位,若D7=0表示忙,為1表示閑,測試該打印機(jī)當(dāng)前狀態(tài),若為忙繼續(xù)測試,否則順序執(zhí)行下一條指令。
MOVDX,379H WT:
TESTAL,
JZWT;ZF=1,忙,等待INAX,DX80H*例:測試某狀態(tài)寄存器(端口號(hào)27H)的D2位是否為1,為1,則轉(zhuǎn)ERROR處理
INAL,27HTESTAL,00000100BJNZERROR
9.3BIOS顯示中斷看教材4.4.2(84頁)用來控制光標(biāo)和顏色的211頁列出了中斷類型為10H的部分操作功能1、控制光標(biāo)主要定義光標(biāo)的大小和是否顯示光標(biāo)入口參數(shù)CH,CL表示光標(biāo)行開始和結(jié)束的,數(shù)據(jù)分放在CH,CL的低4位,當(dāng)CH的第四位為1,光標(biāo)不顯示,0顯示單色顯示器光標(biāo)范圍,在0~13.功能2、設(shè)置光標(biāo)位置行、列分別在DH,DL中BH中保存輸出頁號(hào),必有,單色顯示器的值總是0例9.8置光標(biāo)開始行為5,結(jié)束行為7,并把它設(shè)置到第5行第6列.MOVCH,5MOVCL,7MOVAH,1INT10H;置光標(biāo)大小MOVDH,4MOVDL,5MOVBH,0MOVAH,2INT10H;置光標(biāo)位置功能3、讀光標(biāo)位置行列回送給DH,DL,光標(biāo)大小送CH,CL功能6、卷屏使屏幕上卷指定行,需7個(gè)參數(shù)如起始行不為(0,0)。結(jié)束的行列不為(24,79),則屏幕只上卷一部分區(qū)域,這部分區(qū)域叫窗口,如上卷超指定窗
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國隨身攜帶的照相機(jī)行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報(bào)告
- 2025-2030中國防滑釘鞋行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報(bào)告
- 2025-2030中國銀杏葉素茶行業(yè)市場深度分析及發(fā)展趨勢與投資研究報(bào)告
- 2025-2030中國鈷57行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報(bào)告
- 2025-2030中國釩鐵行業(yè)市場運(yùn)行分析及前景趨勢與投資研究報(bào)告
- 2025-2030中國透氣款鞋行業(yè)市場深度調(diào)研及發(fā)展趨勢與投資價(jià)值評(píng)估研究報(bào)告
- 2025-2030中國跑道照明系統(tǒng)行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報(bào)告
- 《風(fēng)之彩繪巧做紙鳶》(教案)-2024-2025學(xué)年四年級(jí)上冊勞動(dòng)人教版
- 2025-2030中國薄荷油和提取物行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報(bào)告
- 2025-2030中國蒸汽壓力機(jī)行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報(bào)告
- 2025屆上海市浦東新區(qū)高三二模英語試卷(含答案)
- 【MOOC】航空燃?xì)鉁u輪發(fā)動(dòng)機(jī)結(jié)構(gòu)設(shè)計(jì)-北京航空航天大學(xué) 中國大學(xué)慕課MOOC答案
- 職業(yè)衛(wèi)生評(píng)價(jià)考試計(jì)算題匯總
- 中國古代文學(xué)史(二)正式課件
- 物業(yè)管理服務(wù)品質(zhì)檢查表
- JJF 1318-2011 影像測量儀校準(zhǔn)規(guī)范-(高清現(xiàn)行)
- 動(dòng)火安全作業(yè)票填寫模板2022年更新
- 2021年12月英語六級(jí)聽力試題、原文及答案 兩套
- 北師版七年級(jí)下冊數(shù)學(xué) 第1章 1.6.2 目標(biāo)三 整式的化簡求值 習(xí)題課件
- 《貿(mào)易商務(wù)英語》課件Unit 4 Change
- TCWAN 0027-2022 TCEEIA 584-2022 新能源汽車鋁合金電池托盤焊接制造規(guī)范
評(píng)論
0/150
提交評(píng)論