第11講DOS功能調(diào)用及中斷調(diào)用_第1頁(yè)
第11講DOS功能調(diào)用及中斷調(diào)用_第2頁(yè)
第11講DOS功能調(diào)用及中斷調(diào)用_第3頁(yè)
第11講DOS功能調(diào)用及中斷調(diào)用_第4頁(yè)
第11講DOS功能調(diào)用及中斷調(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、2.5.4子程序設(shè)計(jì)(Subroutine) 1子程序的子程序的調(diào)用調(diào)用和和返回返回(call & return)C A L L SUB1(斷點(diǎn)1) C A L L SUB1(斷點(diǎn)1) 2主程序與子程序間信息傳遞主程序與子程序間信息傳遞(message) 3保護(hù)保護(hù)現(xiàn)場(chǎng)和現(xiàn)場(chǎng)和恢復(fù)恢復(fù)現(xiàn)場(chǎng)現(xiàn)場(chǎng)PUSHPOP例例:2.17設(shè)計(jì)子程序設(shè)計(jì)子程序,使其具有顯示使其具有顯示EAX寄存器寄存器中數(shù)據(jù)的功能中數(shù)據(jù)的功能 2.子程序的調(diào)用子程序的調(diào)用 JBE L2 1.保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng) (preserve environment) PUSH POP 先后順序先后順序 3.子程序的

2、返回子程序的返回 RET2.5.5 ROM BIOS中斷調(diào)用 MOV AH,02H;功能功能2號(hào)號(hào) (function) MOV BH,0 ;頁(yè)頁(yè) MOV DH,12H ;第第12行行 MOV DL,01H ;第第1列列 INT 10H 例例2.18 利用利用INT10H指令的指令的2號(hào)功能將光號(hào)功能將光標(biāo)標(biāo)(cursor)定位在屏幕的第定位在屏幕的第12行行 、第、第1列列 利用利用INT16H指令的指令的0號(hào)功能號(hào)功能從鍵盤從鍵盤讀讀入一個(gè)字符入一個(gè)字符(keyboard) MOV AH,0 ;功能功能0 INT 16H ;讀入一個(gè)字符讀入一個(gè)字符,(AH)=掃描碼掃描碼(AL)ASCII

3、碼碼 scan code2.5.5 DOS系統(tǒng)功能調(diào)用 在在AH寄存器中設(shè)置調(diào)用子程序的功能號(hào)寄存器中設(shè)置調(diào)用子程序的功能號(hào) 根據(jù)所調(diào)用功能號(hào)根據(jù)所調(diào)用功能號(hào)設(shè)置入口參數(shù)設(shè)置入口參數(shù) 用用INT21H指令轉(zhuǎn)入子程序入口指令轉(zhuǎn)入子程序入口 子程序運(yùn)行完畢后,按規(guī)定取得出口參子程序運(yùn)行完畢后,按規(guī)定取得出口參數(shù)數(shù) LEA DX,BUF MOV AH,9 INT 20H?21H 數(shù)據(jù)區(qū)以數(shù)據(jù)區(qū)以$結(jié)尾結(jié)尾的的字符串字符串送顯示送顯示器器顯示顯示2.5.6 中斷程序設(shè)計(jì)(Interupt) 1.中斷過(guò)程中斷過(guò)程 (1).中斷請(qǐng)求中斷請(qǐng)求(Require) (2).響應(yīng)中斷響應(yīng)中斷(PUSH CS &a

4、mp; IP) (3).中斷處理中斷處理 (4).中斷返回中斷返回(IRET與與RET的區(qū)別?的區(qū)別?) 2.中斷程序的分類中斷程序的分類 3.中斷程序的設(shè)計(jì)方法中斷程序的設(shè)計(jì)方法課堂練習(xí)輸入輸出子程序設(shè)計(jì) SUBIN PROC MOV AH,01H INT 21H RET SUBIN ENDP功功 能:能:從標(biāo)準(zhǔn)輸從標(biāo)準(zhǔn)輸入設(shè)備(一般為鍵入設(shè)備(一般為鍵盤)輸入一個(gè)字符盤)輸入一個(gè)字符入口參數(shù)入口參數(shù):無(wú):無(wú)出口參數(shù)出口參數(shù):輸入字輸入字符的符的ASCII碼存入碼存入AL寄存器寄存器課堂練習(xí)輸入輸出子程序設(shè)計(jì) SUBOUT PROC PUSH DX MOV DL,AL MOV AH,2 IN

5、T 21H POP DX RET SUBOUT ENDP功功 能:能:從標(biāo)準(zhǔn)輸從標(biāo)準(zhǔn)輸出設(shè)備(一般為屏出設(shè)備(一般為屏幕)輸出一個(gè)字符幕)輸出一個(gè)字符入口參數(shù)入口參數(shù):輸出的輸出的字符的字符的ASCII碼送碼送寄存器寄存器AL出口參數(shù)出口參數(shù):在屏幕在屏幕上顯示單個(gè)字符上顯示單個(gè)字符:提高篇非屏蔽中斷請(qǐng)求非屏蔽中斷請(qǐng)求中斷邏輯中斷邏輯INT n指令指令I(lǐng)NT0指令指令除法除法錯(cuò)誤錯(cuò)誤單步單步TF=1 IR0 8259A IR1 可編程可編程 IR2 中斷中斷 IR3 控制器控制器 IR4 (PIC) IR5 IR6 IR7INTRNMICPUn410系統(tǒng)定時(shí)器系統(tǒng)定時(shí)器鍵盤鍵盤彩色彩色/圖形接

6、口圖形接口保留保留(通信通信)串行通信接口串行通信接口保保 留留(ALT打印機(jī)打印機(jī))軟盤軟盤保留保留(打印機(jī)打印機(jī))08090A0B0C0D0E0F提高篇提高篇基本基本I/O功能調(diào)用功能調(diào)用基本基本I/OI/O功能調(diào)用功能調(diào)用帶回顯鍵盤輸入(帶回顯鍵盤輸入(1 1號(hào)功能調(diào)用)號(hào)功能調(diào)用)功能:功能:讀入一字符并回顯讀入一字符并回顯入口參數(shù):無(wú)。入口參數(shù):無(wú)。出口參數(shù):出口參數(shù):AL=AL=讀到字符的讀到字符的ASCIIASCII碼。碼。不帶回顯鍵盤輸入(不帶回顯鍵盤輸入(8 8號(hào)功能調(diào)用)號(hào)功能調(diào)用)功能同功能同1 1號(hào)調(diào)用,只是不回顯號(hào)調(diào)用,只是不回顯直接鍵盤輸入(直接鍵盤輸入(7 7號(hào)功

7、能調(diào)用)號(hào)功能調(diào)用)顯示輸出(顯示輸出(2 2號(hào)功能調(diào)用)號(hào)功能調(diào)用)直接控制臺(tái)輸入輸出(直接控制臺(tái)輸入輸出(6 6號(hào)功能調(diào)用)號(hào)功能調(diào)用)功能:功能:讀一字符讀一字符 入口參數(shù):無(wú)入口參數(shù):無(wú)出口參數(shù):出口參數(shù):AL=AL=讀到字符的代碼讀到字符的代碼 功能:寫一字符。功能:寫一字符。入口參數(shù):入口參數(shù):DL=DL=要輸出字符的要輸出字符的ASCIIASCII碼。碼。出口參數(shù):無(wú)。出口參數(shù):無(wú)。功能:直接控制臺(tái)輸入輸出。入口參數(shù):DL=0FFH,輸入;否則,DL=輸出字符代碼。出口參數(shù):輸入時(shí),ZF=1表示無(wú)字符可讀;ZF=0表示讀到 字符,AL=輸入字符代碼;輸出時(shí),無(wú)。顯示字符串(顯示字

8、符串(9 9號(hào)功能調(diào)用)號(hào)功能調(diào)用)功能:顯示一個(gè)字符串入口參數(shù): DS:DX=需要輸出字符串的首地址,串以$結(jié)束出口參數(shù):無(wú)輸入字符串(輸入字符串(0A0A號(hào)功能調(diào)用)號(hào)功能調(diào)用)功能:讀入一個(gè)字符串功能:讀入一個(gè)字符串入口參數(shù):入口參數(shù):DSDS:DX=DX=輸入緩沖區(qū)首地址輸入緩沖區(qū)首地址出口參數(shù):接收到的輸入字符串在緩沖區(qū)中出口參數(shù):接收到的輸入字符串在緩沖區(qū)中取鍵盤輸入狀態(tài)(取鍵盤輸入狀態(tài)(0BH0BH號(hào)功能調(diào)用)號(hào)功能調(diào)用)功能:判別輸入設(shè)備上是否有字符可讀功能:判別輸入設(shè)備上是否有字符可讀入口參數(shù):無(wú)入口參數(shù):無(wú)出口參數(shù):出口參數(shù):AL=0AL=0,無(wú)字符可讀;,無(wú)字符可讀;AL

9、=0FFHAL=0FFH,有字符可讀,有字符可讀清除輸入緩沖區(qū)后再輸入(清除輸入緩沖區(qū)后再輸入(0CH0CH號(hào)功能調(diào)用)號(hào)功能調(diào)用)功能:清除輸入緩沖區(qū),再執(zhí)行某個(gè)輸入功能:清除輸入緩沖區(qū),再執(zhí)行某個(gè)輸入入口參數(shù):入口參數(shù):AL=AL=清除輸入緩沖區(qū)后要執(zhí)行的功能號(hào)清除輸入緩沖區(qū)后要執(zhí)行的功能號(hào)出口參數(shù):決定于清除輸入緩沖區(qū)后執(zhí)行的功能出口參數(shù):決定于清除輸入緩沖區(qū)后執(zhí)行的功能打印輸出(打印輸出(5 5號(hào)功能調(diào)用)號(hào)功能調(diào)用)功能:功能:向連在第一個(gè)并行口上的打印機(jī)輸出一字符向連在第一個(gè)并行口上的打印機(jī)輸出一字符入口參數(shù):入口參數(shù): DL=DL=要打印的字符(要打印的字符(ASCIIASCII

10、碼)碼)出口參數(shù):無(wú)出口參數(shù):無(wú)提高篇提高篇傳統(tǒng)文件管理功能調(diào)用傳統(tǒng)文件管理功能調(diào)用功能調(diào)用功能調(diào)用建立文件控制塊(建立文件控制塊(29H29H)功能:分析功能:分析d d:filename.extfilename.ext的文件,若存在則建立的文件,若存在則建立FCBFCB入口參數(shù):入口參數(shù):DSDS:SISI指向要分析的命令行或文件名,指向要分析的命令行或文件名,ESES:DIDI指指 向一個(gè)要用的向一個(gè)要用的FCBFCB首址,首址,AL=AL=建立方式建立方式出口參數(shù):出口參數(shù):DSDS:SISI指向文件名后的第一個(gè)字符,指向文件名后的第一個(gè)字符,ESES:DIDI指指向向 一個(gè)格式化的一

11、個(gè)格式化的FCBFCB的第一個(gè)字節(jié),若存在無(wú)效文的第一個(gè)字節(jié),若存在無(wú)效文 件名則件名則ESES:DI+1DI+1含空格含空格建立磁盤緩沖區(qū)(建立磁盤緩沖區(qū)(1AH1AH)功能:建立磁盤讀寫緩沖區(qū)功能:建立磁盤讀寫緩沖區(qū)入口參數(shù):入口參數(shù):DSDS:DXDX指向緩沖區(qū)首地址指向緩沖區(qū)首地址出口參數(shù):無(wú)出口參數(shù):無(wú)建立文件(建立文件(16H16H)功能:建立文件功能:建立文件入口參數(shù):入口參數(shù):DSDS:DXDX指向一個(gè)未打開(kāi)的指向一個(gè)未打開(kāi)的FCBFCB出口參數(shù):出口參數(shù):AL=00HAL=00H表示成功,表示成功,AL=0FFHAL=0FFH表示目錄區(qū)滿表示目錄區(qū)滿打開(kāi)文件(打開(kāi)文件(0FH

12、0FH)功能:打開(kāi)文件功能:打開(kāi)文件入口參數(shù):入口參數(shù):DSDS:DXDX指向一個(gè)未打開(kāi)的指向一個(gè)未打開(kāi)的FCBFCB出口參數(shù):找不到文件出口參數(shù):找不到文件AL=0FFHAL=0FFH,找到,找到AL=00HAL=00H,并給,并給FCBFCB賦賦值值關(guān)閉文件(關(guān)閉文件(10H10H)功能:關(guān)閉打開(kāi)的文件功能:關(guān)閉打開(kāi)的文件入口參數(shù):入口參數(shù):DSDS:DXDX指向一個(gè)打開(kāi)的指向一個(gè)打開(kāi)的FCBFCB出口參數(shù):出口參數(shù):AL=00HAL=00H表示成功,表示成功,AL=0FFHAL=0FFH表示已換盤表示已換盤刪除文件(刪除文件(13H13H)功能:刪除功能:刪除FCBFCB指定的文件指定的

13、文件入口參數(shù):入口參數(shù):DSDS:DXDX指向一個(gè)打開(kāi)的指向一個(gè)打開(kāi)的FCBFCB出口參數(shù):出口參數(shù):AL=00HAL=00H成功,成功,AL=0FFHAL=0FFH找不到符合的目錄項(xiàng)找不到符合的目錄項(xiàng)順序讀(順序讀(14H14H)功能:將功能:將FCBFCB中當(dāng)前塊號(hào)和當(dāng)前記錄號(hào)指定的記錄送磁盤緩沖區(qū)中當(dāng)前塊號(hào)和當(dāng)前記錄號(hào)指定的記錄送磁盤緩沖區(qū)入口參數(shù):入口參數(shù):DSDS:DXDX指向一個(gè)打開(kāi)的指向一個(gè)打開(kāi)的FCBFCB出口參數(shù):出口參數(shù):AL=00HAL=00H成功,成功,AL=01AL=01無(wú)數(shù)據(jù),無(wú)數(shù)據(jù),AL=03AL=03讀了部分?jǐn)?shù)據(jù),讀了部分?jǐn)?shù)據(jù), AL=02 DTAAL=02 D

14、TA過(guò)小過(guò)小順序?qū)懀樞驅(qū)懀?5H15H)功能:功能:將磁盤緩沖區(qū)信息送由當(dāng)前記錄號(hào)指定的記錄將磁盤緩沖區(qū)信息送由當(dāng)前記錄號(hào)指定的記錄入口參數(shù):入口參數(shù):DSDS:DXDX指向一個(gè)打開(kāi)的指向一個(gè)打開(kāi)的FCBFCB出口參數(shù):出口參數(shù):AL=00HAL=00H成功,成功,AL=01AL=01盤滿,盤滿,AL=02AL=02緩沖區(qū)小緩沖區(qū)小隨機(jī)讀(隨機(jī)讀(21H21H)功能:將功能:將FCBFCB中相對(duì)記錄號(hào)指定的記錄送磁盤緩沖區(qū)中相對(duì)記錄號(hào)指定的記錄送磁盤緩沖區(qū)入口參數(shù):入口參數(shù):DSDS:DXDX指向一個(gè)打開(kāi)的指向一個(gè)打開(kāi)的FCBFCB出口參數(shù):出口參數(shù):AL=00HAL=00H成功,成功,AL=01A

溫馨提示

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