DOS系統(tǒng)功能調(diào)用_第1頁(yè)
DOS系統(tǒng)功能調(diào)用_第2頁(yè)
DOS系統(tǒng)功能調(diào)用_第3頁(yè)
DOS系統(tǒng)功能調(diào)用_第4頁(yè)
DOS系統(tǒng)功能調(diào)用_第5頁(yè)
已閱讀5頁(yè),還剩6頁(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)介

1、 為了了解程序運(yùn)行過(guò)程中的情況,應(yīng)設(shè)法將運(yùn)算結(jié)果顯示到顯示器上,最簡(jiǎn)單的方法就是調(diào)用操作系統(tǒng)的I/O子程序,我們稱為DOS功能調(diào)用。DOS為程序設(shè)計(jì)人員提供了許多可直接調(diào)用的功能子程序。調(diào)用時(shí)需要使用軟中斷指令:INT n其中:n為中斷調(diào)用類型號(hào),其值為00FFH。在使用INT指令前,應(yīng)將調(diào)用的功能號(hào)送入AH,有關(guān)入口參量送入指定寄存器中。若有出口參量,中斷調(diào)用返回后,結(jié)果在指定的寄存器或存儲(chǔ)單元中。DOS功能子程序的調(diào)用使用軟中斷指令“INT 21H”。DOS共有84個(gè)功能子程序。這些子程序的主要功能是:磁盤(pán)的讀寫(xiě)控制、文件操作、目錄操作、內(nèi)存管理、基本輸入輸出管理及設(shè)置/讀出系統(tǒng)日期、時(shí)間

2、等。DOS功能子程序的調(diào)用下面例舉部分常用的DOS功能子程序。1帶顯示的鍵盤(pán)輸入(1號(hào)功能) 該功能子程序等待鍵盤(pán)輸入,直接按下一個(gè)鍵(即輸入一個(gè)字符),把字符的ASCII碼送入AL,并在屏幕上顯示該字符。如果按下的鍵是Ctrl-C組合鍵,則停止程序運(yùn)行。如果按下TAB制表鍵,屏幕上光標(biāo)自動(dòng)擴(kuò)展到緊接著的8個(gè)字符位置后面。1號(hào)功能調(diào)用,不需要入口參量,出口參量在AL中。如:MOVAH,01HINT21HDOS功能子程序的調(diào)用(續(xù))2不帶顯示的鍵盤(pán)輸入(7號(hào)功能) 與1號(hào)功能類似,它僅等待鍵盤(pán)輸入一個(gè)字符,并將字符的ASCII碼送入AL中。但按下Ctrl-C組合鍵和TAB制表鍵無(wú)反應(yīng)。調(diào)用方法如

3、下:MOVAH,7INT21HDOS功能子程序的調(diào)用(續(xù))DOS功能子程序的調(diào)用(續(xù))3字符串輸入(0AH號(hào)功能)等待從鍵盤(pán)輸入字符串,并存入設(shè)定的緩沖區(qū)內(nèi),同時(shí)回顯字符串,光標(biāo)隨著移動(dòng),回車符使光標(biāo)回到行首。調(diào)用方法如下:MOVAH,0AHINT21H緩沖區(qū)第一個(gè)字節(jié)存放它能保存的最大字符數(shù)(1255,不能為0?。撝涤捎脩舫绦蜃约菏孪仍O(shè)置。如果鍵如的字符數(shù)比此數(shù)大,那就會(huì)發(fā)出“嘟嘟”聲,而且光標(biāo)不再向右移動(dòng)。緩沖區(qū)第二個(gè)字節(jié)存放用戶本次調(diào)用時(shí)實(shí)際輸入的字符數(shù)(回車鍵除外),這個(gè)數(shù)由DOS返回時(shí)自動(dòng)填入。用戶從鍵盤(pán)輸入的字符從第三個(gè)字節(jié)開(kāi)始存放,直到用戶輸入回車鍵為止,并將回車鍵碼(0DH

4、)加在剛才輸入字符串的末尾上。調(diào)用時(shí),用DS:DX寄存器指向輸入緩沖區(qū)的段基值:偏移量。例如在數(shù)據(jù)區(qū)定義的字符緩沖區(qū)如下:MAXLENDB18ACTLENDB?STRINGDB18DUP(0)DOS功能子程序的調(diào)用(續(xù)) 則輸入串的指令如下: MOVAX,SEGMAXLEN MOVDS,AX MOVDX,OFFSETMAXLEN MOVAH,0AH INT21HDOS功能子程序的調(diào)用(續(xù))4字符顯示(2號(hào)功能)本功能子程序僅在屏幕上顯示單個(gè)字符。要顯示字符的ASCII碼存放在DL中。如果DL中存放退格鍵編碼,在屏幕上便向左移一個(gè)字符位置,并使該位置成為空格。移動(dòng)后光標(biāo)停留在那里。如要顯示字符A

5、,可用下列幾條指令調(diào)用:MOVDL,AMOVAH,2INT21H5字符打?。?號(hào)功能)5號(hào)功能子程序把DL中的字符(ASCII碼)送入打印機(jī)接口,打印輸出。功能調(diào)用為:MOVDL,AMOVAH,5INT21HDOS功能子程序的調(diào)用(續(xù))6字符串顯示(9號(hào)功能) 9號(hào)功能子程序能在屏幕上顯示多于一個(gè)的字符串。要顯示的字符串必須先放在內(nèi)存一數(shù)據(jù)區(qū)中,且字符串以美元符號(hào)作為結(jié)束標(biāo)志。非顯示字符,可以用它的ASCII碼插入字符串中間。進(jìn)行9號(hào)功能調(diào)用時(shí),先把待顯示的字符串首地址的段基值和偏移量分別存入DS和DX中。在數(shù)據(jù)段中定義一個(gè)待顯示符號(hào)串如:STRINGDB“THIS IS A PROGRAM”

6、,0AH,0DH,“”則顯示該符號(hào)串的指令為:LEADX,STRINGMOVAH,9INT21HDOS功能子程序的調(diào)用(續(xù))7取中斷向量(35H號(hào)功能) 35H號(hào)功能把由AL指定的中斷類型號(hào)的中斷向量從中斷向量表中取到ES:BX中。即必須把要取出的中斷類型號(hào)N送給AL,調(diào)用35H功能后,與中斷類型號(hào)N對(duì)應(yīng)的中斷向量則保存在ES:BX中。其調(diào)用示例如下:MOVAL,NMOVAH,35HINT21H8設(shè)置中斷向量(25H號(hào)功能) 25H號(hào)功能把由AL指定的中斷類型的中斷向量DS:DX放置在中斷向量表中。具體設(shè)置過(guò)程為:首先將要設(shè)置的中斷類型號(hào)送AL,然后把要設(shè)置的中斷服務(wù)程序的段地址和偏移量分別送DS、DX,最后再調(diào)用25H功能。典型的使用DOS功能調(diào)用存取中斷向量的程序段如下:MOVAL,N;取出并保存原中斷向量MOVAH,35HINT21HPUSHBXDOS功能子程序的調(diào)用(續(xù))PUSHESPUSHDSMOVAX,SEG INTERRUPTMOVDS,AXMOVDX,OFFSET INTERRUPTMOVAL,NMOVAH,25HINT21HPOPDSPOPDS

溫馨提示

  • 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)論