版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
4.
中斷指令I(lǐng)NT和中斷返回指令I(lǐng)RET/IRETD中斷分為外部(硬)中斷和內(nèi)部(軟)中斷兩種。
外部中斷—處理I/O設(shè)備與CPU之間的通信。
內(nèi)部中斷—如除法運(yùn)算中除數(shù)為0、中斷指令引起的中斷。1)中斷指令
INTn
;n為中斷類型碼,是一個(gè)8位的立即數(shù)2)中斷返回指令(位于中斷服務(wù)子程序的最后)
IRETIRETD中斷(Interrupt)是又一種改變程序執(zhí)行順序的方法第3章Pentium的指令系統(tǒng)2023/7/231執(zhí)行操作:
1.將標(biāo)志寄存器值送入堆棧(保護(hù)現(xiàn)場(chǎng))((E)SP)←((E)SP)-2/-42.清除IF、TF,避免進(jìn)入中斷以后再被外面其它中斷所打斷及進(jìn)入中斷以后按單步執(zhí)行。
3.將返回的斷點(diǎn)地址送入堆棧(保護(hù)斷點(diǎn))
((E)SP)←((E)SP)-4/-6除法錯(cuò)中斷:執(zhí)行除法指令,結(jié)果溢出產(chǎn)生的0號(hào)中斷單步中斷:TF=1在每條指令執(zhí)行后產(chǎn)生的1號(hào)中斷非屏蔽中斷:2號(hào)中斷斷點(diǎn)中斷:用于斷點(diǎn)調(diào)試(INT3)的3號(hào)中斷溢出中斷:執(zhí)行溢出中斷指令,OF=1產(chǎn)生的4號(hào)中斷指令中斷:執(zhí)行中斷調(diào)用指令I(lǐng)NTi8產(chǎn)生的i8號(hào)中斷INT0×INT1×
INTO第3章Pentium的指令系統(tǒng)2023/7/232系統(tǒng)功能調(diào)用8086的中斷類型號(hào)分配:00H---04H:專用的中斷
08H---1FH:主板和擴(kuò)展槽上基本外設(shè)的中斷服務(wù)子程序
BIOS中的I/O子程序調(diào)用指令
20H---3FH:DOS系統(tǒng)功能子程序
40H---7FH:用戶保留2)DOS系統(tǒng)功能調(diào)用:近百個(gè)------軟接口三個(gè)方面:A磁盤的讀寫管理
B內(nèi)存管理
C基本I/O管理21H號(hào)中斷是DOS提供給用戶的用于調(diào)用系統(tǒng)功能的中斷,它有近百個(gè)功能供用戶選擇使用,所有這些調(diào)用已經(jīng)包含了整個(gè)系統(tǒng)的功能,因此稱INT21H為系統(tǒng)功能調(diào)用由此得名.主要包括設(shè)備管理、目錄管理和文件管理三個(gè)方面的功能第3章Pentium的指令系統(tǒng)2023/7/2333)BIOS系統(tǒng)功能調(diào)用:基本輸入/輸出模塊BIOS:實(shí)現(xiàn)對(duì)輸入/輸出設(shè)備的控制,內(nèi)含00–1FH等類型中斷子程序,包括顯示器、磁盤、鍵盤、打印機(jī)等標(biāo)準(zhǔn)外設(shè)的驅(qū)動(dòng)程序。(參看中斷類型分配表)
BIOS功能調(diào)用指對(duì)BIOS模塊中的中斷子程的調(diào)用。功能調(diào)用的格式:為使用方便,已將所有子程序放在其中斷服務(wù)程序中按順序編號(hào),這個(gè)編號(hào)即為子程序的功能號(hào).通常按照如下4個(gè)步驟進(jìn)行:第3章Pentium的指令系統(tǒng)2023/7/234⑴在AH寄存器中設(shè)置系統(tǒng)功能調(diào)用號(hào)⑵在指定寄存器中設(shè)置入口參數(shù)⑶執(zhí)行指令I(lǐng)NT21H(或ROM-BIOS的中斷向量號(hào))實(shí)現(xiàn)中斷服務(wù)程序的功能調(diào)用⑷根據(jù)出口參數(shù)分析功能調(diào)用執(zhí)行情況設(shè)置入口參數(shù)在AH設(shè)置功能號(hào)m執(zhí)行中斷指令I(lǐng)NTN分析、應(yīng)用出口參數(shù)第3章Pentium的指令系統(tǒng)2023/7/235常用的DOS系統(tǒng)功能調(diào)用(21H類型中斷調(diào)用)入口參數(shù)無(wú)
功能號(hào)
AH=01H
類型號(hào)
21H
出口參數(shù)
AL=鍵入字符的ASCII碼
實(shí)現(xiàn)功能
等待從鍵盤輸入一個(gè)字符,
檢測(cè)
Ctrl-Break鍵(退出),否則將鍵值送入AL,并在屏幕上回顯。1.鍵盤輸入并回顯
(01H功能)MOVAH,01HINT21H第3章Pentium的指令系統(tǒng)2023/7/236
MOVAH,1;等待從鍵盤輸入
INT21H
CMPAL,‘Y’
;是’Y’?JZyes
CMPAL,‘y’
;是’y’?
JZyesno:......JMPexityes:......exit:...例利用鍵盤輸入的字符產(chǎn)生分支:第3章Pentium的指令系統(tǒng)2023/7/237入口參數(shù)
DL=要顯示字符的ASCII碼功能號(hào)
AH=02H類型號(hào)
INT21H出口參數(shù)無(wú)實(shí)現(xiàn)功能顯示指定字符,光標(biāo)隨動(dòng),Ctrl-Break(退出)。例顯示字符AMOVDL,‘A’MOVAH,02HINT21H2.顯示輸出單個(gè)字符(02H功能)例使光標(biāo)回到下一行的行首。MOVDL,0DH
;顯示回車符MOVAH,02HINT21HMOVDL,0AH
;顯示換行符MOVAH,02HINT21H第3章Pentium的指令系統(tǒng)2023/7/238入口參數(shù)
DL=要輸出的字符(ASCII)功能號(hào)
AH=05H類型號(hào)
21H出口參數(shù)無(wú)實(shí)現(xiàn)功能把入口時(shí)放入DL的字符輸出到標(biāo)準(zhǔn)打印輸出設(shè)備(默認(rèn)接入并行接口打印機(jī))MOVDL,“A”MOVAH,05HINT21H3.打印機(jī)輸出(05H功能)第3章Pentium的指令系統(tǒng)2023/7/239入口參數(shù)無(wú)功能號(hào)
AH=07H類型號(hào)
21H出口參數(shù)
AL=鍵入的字符的ASCII碼實(shí)現(xiàn)功能
1)等待從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤)輸入字符,
不在屏幕上回顯,送入AL中
2)不用檢查CTRL-BREAK4.鍵盤輸入無(wú)回顯(07H功能)第3章Pentium的指令系統(tǒng)2023/7/2310
input:MOVAH,07H
;等待從鍵盤輸入
INT21HMOV[DI],AL;存入緩沖區(qū)
CMPAL,0DH;是回車符?
JNZinput;不是,繼續(xù)輸入
check:、、、、、、例用不帶回顯功能輸入密碼時(shí):第3章Pentium的指令系統(tǒng)2023/7/2311入口參數(shù)
DS:DX=內(nèi)存中以$為結(jié)束的字符串
①定義要顯示的字符串,字符串尾應(yīng)為’$’,作為結(jié)束顯示的標(biāo)志。②DS:DX=字符串的首地址
功能號(hào)
AH=09H類型號(hào)
21H出口參數(shù)無(wú)實(shí)現(xiàn)功能
顯示字符串,遇’$’停止顯示,光標(biāo)隨動(dòng)。5.顯示字符串(09H功能)第3章Pentium的指令系統(tǒng)2023/7/2312例編程顯示字符串’JilinUniversity’dataSEGMENT
;定義顯示的子符串striDB‘JilinUniversity’,‘$’dataENDScodeSEGMENTASSUMECS:code,DS:datastart:MOVAX,data
;置緩沖區(qū)地址于DS:DXMOVDS,AXLEADX,stri
MOVAH,09H;調(diào)顯示功能
INT21HMOVAH,4CH;返回DOS
INT21HcodeENDS
ENDstart第3章Pentium的指令系統(tǒng)2023/7/2313入口參數(shù)
DS:DX=緩沖區(qū)的首地址
(DS:DX)=限制最多輸入的字符數(shù)功能號(hào)
AH=0AH類型號(hào)
21H出口參數(shù)
(DS:DX+1)=實(shí)際鍵入的字符個(gè)數(shù)(不含回車符)
從(DS:DX+2)開始順序存放鍵入的字符串,回車符0DH為串尾最后一字符。實(shí)現(xiàn)功能等待從鍵盤輸入字符串,存入設(shè)定的緩沖區(qū)內(nèi),同時(shí)回顯字符串,光標(biāo)隨著移動(dòng),回車符使光標(biāo)回到行首。
注意事項(xiàng):應(yīng)按要求先定義緩沖區(qū),再調(diào)用。定義格式:DATASEGMENTBUFDB50;定義緩沖區(qū)長(zhǎng)度,不能為0DB?;實(shí)際輸入的字符個(gè)數(shù)
DB50DUP(?);定義具有緩沖區(qū)長(zhǎng)度的存儲(chǔ)區(qū)
….DATAENDS6.鍵盤輸入到內(nèi)存緩沖區(qū)(0AH功能)第3章Pentium的指令系統(tǒng)2023/7/2314例應(yīng)用0AH功能輸入字符串。
dataSEGMENT;定義緩沖區(qū)maxDB11;定義限制最多輸入個(gè)數(shù)lenthDB?;用于存放實(shí)際輸入個(gè)數(shù)striDB11DUP(?);用于存放輸入的字符串dataENDScodeSEGMENTASSUMECS:code,DS:datastart:MOVAX,data;置緩沖區(qū)地址于DS:DXMOVDS,AXLEADX,max
MOVAH,0AHINT21H;調(diào)0A輸入功能
MOXCH,0MOVCL,lenth;取字符串長(zhǎng)度放CX中
LEABX,stri;取字符串首址于BX中
MOVAL,[BX];應(yīng)用輸入字符、、、、、codeENDS
第3章Pentium的指令系統(tǒng)2023/7/2315dataSEGMENT;定義緩沖區(qū)maxDB11;定義限制最多輸入個(gè)數(shù)lenthDB?;用于存放實(shí)際輸入個(gè)數(shù)stri
DB11DUP(?);用于存放輸入的字符串dataENDS從鍵盤輸入‘ABCD’,回車,內(nèi)存的存放結(jié)果:0B04414243440D00max07000000000000000080a0b0f12345690c0d0elenthstri地址內(nèi)容DS:DX第3章Pentium的指令系統(tǒng)2023/7/23160AH功能注意事項(xiàng):1.輸入的字符均帶回顯,且光標(biāo)隨字符移動(dòng)。當(dāng)輸入回車符結(jié)束時(shí),也回顯回車符。表現(xiàn)為功能調(diào)用結(jié)束后,光標(biāo)回到了行首。2.
回車符0DH作為一個(gè)輸入的字符存放在字符串尾,但計(jì)數(shù)輸入個(gè)數(shù)時(shí),不包括回車鍵。實(shí)際最多能輸入的字符數(shù)=限制的最多數(shù)-1
(回車符占一個(gè))3.
執(zhí)行完0AH功能后,DS和DX的值不變,
DS:DX仍指向緩沖區(qū)的首地址。4.
整個(gè)緩沖區(qū)的大小應(yīng)為:限制的最多數(shù)+2maxDB11,?,11dup(?)第3章Pentium的指令系統(tǒng)2023/7/23177.設(shè)置中斷向量(25H功能)入口參數(shù)
AL=要設(shè)置向量的中斷類型號(hào)NDS:DX=中斷子程的入口地址(中斷向量)
功能號(hào)
AH=25H
類型號(hào)
21H
出口參數(shù)無(wú)
實(shí)現(xiàn)功能將類型N的中斷向量設(shè)置在向量表中,即
(0:N×4)=類型N中斷子程入口地址的偏移值
(0:N×4+2)=類型N中斷子程入口地址的段值第3章Pentium的指令系統(tǒng)2023/7/2318例1
設(shè)置中斷子程序Sound的中斷向量,類型號(hào)為60HcodeSEGMENTASSUMECS:codestart:、、
MOVAX,SEGsoundMOVDS,AXMOVDX,OffsetsoundMOVAL,60HMOVAH,25HINT21H
、、
INT60H;調(diào)用60H中斷子程、、
MOVAH,4CHINT21H
;中斷子程序
soundPROC
、、、、、、、、、
IRETsoundENDP
codeENDSENDstart第3章Pentium的指令系統(tǒng)2023/7/2319入口參數(shù)無(wú)功能號(hào)
AH=4CH
類型號(hào)
21H
出口參數(shù)
AL=EXITCODE。
實(shí)現(xiàn)功能
終止當(dāng)前程序,順利返回DOSMOVAH,4CHINT21H8.程序結(jié)束,返回DOS(4CH功能).EXIT0第3章Pentium的指令系統(tǒng)2023/7/2320源程序指令代碼段框架結(jié)構(gòu)舉例:;……………..CODESEGMENTASSUMECS:CODE,DS:DATA,ES:EDAT,SS:STACKMAIN:MOVAX,DATA;初始化DSMOVDS,AXMOVAX,EDAT;初始化ESMOVES,AXMOVAX,STACK;初始化SSMOVSS,AXMOVSP,OFFSETTOP;初始化SP;……………..
:程序正文;……………..
MOVAH,4CHINT
21HCODEENDSENDMAIN第3章Pentium的指令系統(tǒng)2023/7/2321常用的BIOS系統(tǒng)功能調(diào)用(顯示器功能調(diào)用INT10H)1.清屏、清窗口功能入口參數(shù)
AL=0CH=窗口左上角行號(hào)
CL=窗口左上角列號(hào)
DH=窗口右下角行號(hào)
DL=窗口右下角列號(hào)
BH=窗口屬性功能號(hào)
AH=06H
或AH=07H類型號(hào)
10H出口參數(shù)無(wú)實(shí)現(xiàn)功能按給定屬性清除指定的窗口內(nèi)容第3章Pentium的指令系統(tǒng)2023/7/23222.置光標(biāo)位置入口參數(shù)
DH=行號(hào)
DL=列號(hào)
BH=頁(yè)號(hào)
功能號(hào)
AH=02H
類型號(hào)
10H
出口參數(shù)無(wú)
實(shí)現(xiàn)功能將光標(biāo)設(shè)置在指定的位置第3章Pentium的指令系統(tǒng)2023/7/2323例將光標(biāo)設(shè)置在2行5列的位置MOVDH,2MOVDL,5MOVBH,0MOVAH,2INT10H~~~~~~~~~~~~~~~~0列0行79列24行5列1列1行2行第3章Pentium的指令系統(tǒng)2023/7/23241.標(biāo)志操作指令
CLC(Clearcarryflag) 清CF標(biāo)志
STC(Setcarryflag) 置CF標(biāo)志
CMC(Complementcarryflag) 對(duì)CF求反
CLD(Cleardirectionflag) 清DF標(biāo)志
STD(Setdirectionflag) 置DF標(biāo)志
CLI(Clearinterruptflag) 清IF標(biāo)志
STI(Setinterruptenableflag) 置IF標(biāo)志
3.2.6標(biāo)志操作和處理器控制指令
注意:*
只影響本指令指定的標(biāo)志第3章Pentium的指令系統(tǒng)2023/7/2325指令格式執(zhí)行操作CLC CF=0STC CF=1CLM CF←CLD DF=0STD DF=1CLI IF=0STI IF=1第3章Pentium的指令系統(tǒng)2023/7/23262.暫停指令HLT和無(wú)操作指令NOP
格式:HLT
執(zhí)行:使CPU處于暫停狀態(tài),這時(shí)CPU不進(jìn)行任何操作。當(dāng)CPU發(fā)生復(fù)位或有來(lái)自外部的中斷時(shí),CPU才脫離暫停狀態(tài)。常用于等待外部中斷,當(dāng)程序中必須等待中
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 入團(tuán)證考試題及答案
- 2026年亳州蒙城縣縣直幼兒園面向農(nóng)村學(xué)校公開選調(diào)教師55名考試備考題庫(kù)及答案解析
- 2026上半年貴州事業(yè)單位聯(lián)考綏陽(yáng)縣招聘73人備考考試題庫(kù)及答案解析
- 2026年鶴崗市向陽(yáng)區(qū)公開招聘公益性崗位人員34人考試參考試題及答案解析
- 2026浙江寧波市北侖區(qū)郭巨街道招聘編外人員2人備考考試題庫(kù)及答案解析
- 2026年上海政法學(xué)院公開招聘?jìng)淇伎荚囶}庫(kù)及答案解析
- 2026四川自貢醫(yī)元健康管理有限責(zé)任公司招聘甜品師1人考試參考題庫(kù)及答案解析
- 2026海南三亞吉陽(yáng)區(qū)立達(dá)學(xué)園春季學(xué)期教師招聘2人備考考試試題及答案解析
- 2026新東方大學(xué)生學(xué)習(xí)與發(fā)展中心云南中心招聘?jìng)淇碱}庫(kù)完整參考答案詳解
- 2026云南大學(xué)附屬中學(xué)西山學(xué)校招聘2人備考考試題庫(kù)及答案解析
- 江蘇省鹽城市大豐區(qū)四校聯(lián)考2025-2026學(xué)年七年級(jí)上學(xué)期12月月考?xì)v史試卷(含答案)
- 2025年雞飼料采購(gòu)合同
- 辦公樓裝飾裝修工程施工組織設(shè)計(jì)方案
- AQ 2001-2018 煉鋼安全規(guī)程(正式版)
- JBT 14850-2024 塔式起重機(jī)支護(hù)系統(tǒng)(正式版)
- 子宮內(nèi)膜癌(本科)+
- 軟基施工方案
- 鋼結(jié)構(gòu)清包工合同
- 安全技術(shù)勞動(dòng)保護(hù)措施管理規(guī)定
- 新建加油站可行性研究報(bào)告6118933
- 論高級(jí)管理人員應(yīng)具備的財(cái)務(wù)知識(shí)
評(píng)論
0/150
提交評(píng)論