微機(jī)原理第三章7講義課件_第1頁(yè)
微機(jī)原理第三章7講義課件_第2頁(yè)
微機(jī)原理第三章7講義課件_第3頁(yè)
微機(jī)原理第三章7講義課件_第4頁(yè)
微機(jī)原理第三章7講義課件_第5頁(yè)
已閱讀5頁(yè),還剩26頁(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)介

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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論