【轉載】DOS中斷 INT 21H 大全

來源:互聯網
上載者:User

字元功能  

01H、07H和08H —從標準輸入裝置輸入字元

      02H —字元輸出

      03H —輔助裝置的輸入

      04H —輔助裝置的輸出

      05H —列印輸出

      06H —控制台輸入/輸出

      09H —顯示字串

      0AH — 鍵盤緩衝輸入

      0BH —檢測輸入狀態

      0CH —清輸入緩衝區的輸入功能

1、功能01H、07H和08H

功能描述:從標準輸入裝置(如:鍵盤)讀入一個字元。該中斷在處理過程中將一直處於等待狀態直到有字元可讀為止。該輸入還可被重新導向,如果這樣做,則無法判斷檔案是否已到檔案尾。

入口參數:

AH=01H,過濾掉控制字元,並回顯。

AH=07H,不過濾掉控制字元,不回顯。

AH=08H,過濾掉控制字元,不回顯。

出口參數:

AL=輸入字元的ASCII碼。

2、功能02H

功能描述:向標準輸出裝置(如:螢幕)輸出一個字元。該輸出還可被重新導向,如果這樣做,則將無法判斷磁碟是否滿

入口參數:

AH=02H

DL=待輸出字元的ASCII碼

出口參數:無

3、功能03H

功能描述:從輔助裝置讀入一個字元,該輔助裝置的預設值為COM1

入口參數:

AH=03H

出口參數:

AL=讀入字元的ASCII碼

4、功能04H

功能描述:向輔助裝置輸出一個字元,該輔助裝置的預設值為COM1

入口參數:

AH=04H

DL=待輸出字元的ASCII碼

出口參數:無

5、功能05H

功能描述:向標準的輸出裝置輸出一個字元。該預設的輸出裝置為LPT1連接埠的印表機,除非用MODE命令來改變

入口參數:

AH=05H

DL=待輸出字元的ASCII碼

出口參數:無

6、功能06H

功能描述:控制台(如:鍵盤、螢幕)輸入/輸出。如果輸入/輸出操作被重新導向,那麼,將無法判斷檔案是否已到檔案尾,或磁碟已滿

入口參數:

AH=06H,DL=輸入/輸出功能選擇

出口參數:

若DL=00H-FEH,則此功能為輸出,DL為待輸出字元的ASCII碼;

若DL=0FFH,則此功能為輸入,此時:若ZF=1,則無字元可讀,否則,AL=讀入字元的ASCII碼

7、功能09H

功能描述:輸出一個字串到標準輸出裝置上。如果輸出操作被重新導向,那麼,將無法判斷磁碟已滿

入口參數:AH=09H

DS:DX=待輸出字元的地址

說明:待顯示的字串以’$’作為其結束標誌

出口參數:無

8、功能0AH

功能描述:從標準輸入裝置上讀入一個位元組字串,遇到“斷行符號鍵”結束輸入(輸入的字元在標準的輸出裝置上有回顯)。如果該輸入操作被重新導向,那麼,將無法判斷檔案是否已到檔案尾

入口參數:

AH=0AH

DS:DX=存放輸入字元的起始地址

接受輸入字串緩衝區的定義說明:

  1、第一個位元組為緩衝區的最大容量,可認為是入口參數;

  2、第二個位元組為實際輸入的字元數(不包括斷行符號鍵),可看作出口參數;

  3、從第三個位元組開始存放實際輸入的字串;

  4、字串以斷行符號鍵結束,斷行符號符是接受的最後一個字元;

  5、若輸入的字元數超過緩衝區的最大容量,則多出的部分被丟棄,系統並發出響鈴,直到輸入“斷行符號”鍵才結束輸入。

例如:

  BUFF 80, ?, 80 DUP(?)   ;最多接受80個字元

出口參數:無

9、功能0BH

功能描述:檢查標準輸入裝置上是否有字元可讀。該輸入操作可被重新導向

入口參數:

AH=0BH

出口參數:

AL=00H——無字元可讀;

FFH——有字元可讀

10、功能0CH

功能描述:清空當前的標準輸入緩衝區,再讀入字元。其輸入操作可被重新導向

入口參數:

      AH=0CH

      AL=01H、06H、07H、08H或0AH

出口參數:

      若入口參數AL為0AH,則DS:DX=存放輸入字元的起始地址,否則,出口參數AL=輸入字元的ASCII碼
 
目錄控制功能

39H —建立目錄

3AH —刪除目錄

3BH —設定目前的目錄

47H —讀取目前的目錄

1、功能39H

功能描述:用指定的磁碟機和路徑建立一個新目錄

入口參數:

AH=39H

DS:DX=指定路徑的字串地址(以0為字串的結束標誌)

出口參數:

CF=0——建立成功,否則,AX=錯誤號碼(03H或05H),其含義見錯誤碼表

2、功能3AH

功能描述:刪除指定的磁碟機和路徑的目錄

入口參數:

AH=3AH

DS:DX=指定路徑的字串地址(以0為字串的結束標誌)

出口參數:

CF=0——刪除成功,否則,

AX=錯誤號碼(03H或05H),其含義見錯誤碼表

3、功能3BH

功能描述:用指定的磁碟機和路徑設定為目前的目錄

入口參數:

AH=3BH

DS:DX=指定路徑的字串地址(以0為字串的結束標誌)

出口參數:

CF=0——設定成功,否則,AX=錯誤號碼(03H),其含義見錯誤碼表

4、功能47H

功能描述:取目前的目錄的完全路徑字串

入口參數:

AH=47H

DL=磁碟機代號(0=預設,1=A,…)

DS:SI=存放目前的目錄字串的地址

出口參數:

CF=0——讀取成功,否則,

AX=錯誤號碼(0FH),其含義見錯誤碼表
 
磁碟管理功能

0DH —磁碟複位

0EH —選擇磁碟

19H —讀取當前磁碟機

1BH, 1CH —讀取磁碟機資料

2EH —設定校正標誌

36H —讀取磁碟機分配資訊

54H —讀取校正標誌

1、功能0DH

功能描述:清空當前的檔案緩衝區,但在MS-DOS內,暫時寫入緩衝區的資料將寫入磁碟

入口參數:

AH=0DH

出口參數:無

2、功能0EH

功能描述:指定當前磁碟機

入口參數:

AH=0EH

DL=磁碟機代號(0=A,1=B,...)

出口參數:

AL=系統中當前的磁碟機代號

3、功能19H

功能描述:取當前預設磁碟機代號

入口參數:

AH=19H

出口參數:

AL=磁碟機代號(0=A,1=B,...)

4、功能1BH和1CH

功能描述:獲得磁碟機的分配資訊

入口參數:

AH=1BH——為預設磁碟機

AH=1CH——為任意磁碟機,

DL=磁碟機代號(0=預設,1=A,...)

出口參數:

AL=0FFH——失敗,

否則,

  AL=每簇的扇區數

  DS:BX=ID位元組的地址

  CX=物理扇區的大小(位元組數)

  DX=磁碟機的簇數

5、功能2EH

功能描述:設定/清除作業系統自動讀取檢驗標誌

入口參數:

AH=2EH

DL=00H

AL=00H——清除該標誌,01H——設定該標誌

出口參數:無

6、功能36H

功能描述:取選定磁碟機的資訊

入口參數:

AH=36H

DL=磁碟機代號(0-預設,1=A,2=B,…)

出口參數:

若功能調用失敗,AX=0FFFFH,否則,

  AX=每簇的扇區數

  BX=可用的簇數

  CX=物理扇區的大小(位元組數)

  DX=磁碟機中的簇數

7、功能54H

功能描述:讀取校正標誌

入口參數:

AH=54H

出口參數:

AL=當前檢驗標誌值:

00H—關檢驗,

01H—開檢驗
 

3CH —建立檔案

3DH —開啟檔案

3EH —關閉檔案

41H —刪除檔案

43H —讀取/設定檔案屬性

45H —複製檔案控制代碼

46H —重定義檔案控制代碼

4EH —尋找到第一個檔案

4FH —尋找下一個檔案

56H — 檔案換名

57H —讀取/設定檔案的日期和時間

5AH —建立臨時檔案

5BH —建立新檔案

67H —設定檔案控制代碼數(最多檔案數)

6CH —擴充的開啟檔案功能(開啟、建立或替換檔案)

1、功能3CH

功能描述:用指定的檔案名稱建立一個新檔案。如果指定的檔案已存在,則設定其長度為0。建立後,該檔案是開啟的,並返回其控制代碼

入口參數:

AH=3CH

DS:DX=指定檔案名稱字串的地址(以0為字串的結束標誌)

CX=檔案屬性(這些標誌位可以組合) 位0=1——唯讀

位2=1——系統

位5=1——歸檔

位1=1——隱含

位3=1——卷標號

其它位保留不用,共置為0

出口參數:

CF=0——建立成功,AX=檔案控制代碼,

否則,AX=錯誤號碼(03H、04H或05H),其含義見錯誤碼表

2、功能3DH

功能描述:開啟指定的磁碟機、路徑和檔案名稱,並返回其檔案控制代碼

入口參數:

AH=3DH

DS:DX=表明檔案的字串(以0為字串的結束標誌)

AL為開啟檔案:

位0~2

000—唯讀方式  

001—寫方式  

010—讀/寫方式

位3保留,其值為0

位4~6共用模式

000—相容模式

001—不共用

010—拒絕寫

011—拒絕讀

100—不拒絕任何操作

位7繼承標誌——0/1:子進程繼承或不繼承控制代碼

出口參數:

CF=0——開啟成功,AX=檔案控制代碼,

否則,AX=錯誤號碼(02H、03H、04H、05H或0CH),其含義見錯誤碼表

3、功能3EH

功能描述:關閉指定控制代碼的檔案

入口參數:

AH=3EH

BX=檔案控制代碼

出口參數:

CF=0——關閉成功,

否則,AX=錯誤號碼(06H),其含義見錯誤碼表

4、功能41H

功能描述:刪除指定的檔案

入口參數:

AH=41H

DS:DX=檔案名稱字串的地址

出口參數:

CF=0——刪除成功,

否則,AX=錯誤號碼(02H、03H或05H),其含義見錯誤碼表

5、功能43H

功能描述:讀取或設定指定檔案的屬性

入口參數:

AH=43H

BX=檔案控制代碼

DS:DX=檔案名稱字串的地址

AL=00H/01H——讀取/設定檔案屬性

CX=檔案屬性:

位0=1——唯讀

位1=1——隱含

位2=1——系統

位3=1——卷標號

位5=1——歸檔其它位保留不用,共置為0

出口參數:

CF=0——關閉成功,CX=檔案屬性,

否則,AX=錯誤號碼(01H、02H、03H或05H),其含義見錯誤碼表

6、功能45H

功能描述:複製當前開啟裝置或檔案的控制代碼,該控制代碼對應同樣裝置或檔案的相同位置

入口參數:

AH=45H

BX=待覆制的檔案控制代碼

出口參數:

CF=0——複製成功,AX=新控制代碼,

否則,AX=錯誤號碼(04H或06H),其含義見錯誤碼表

7、功能46H

功能描述:指定二個控制代碼,把第二控制代碼指向第一個控制代碼,即第二個控制代碼被重新導向

入口參數:

AH=46H

BX=檔案或裝置的控制代碼

CX=待重新導向的檔案控制代碼

出口參數:

CF=0——重新導向成功,

否則,AX=錯誤號碼(04H或06H),其含義見錯誤碼表

8、功能4EH

功能描述:擷取第一個與給定的檔案名稱相匹配的檔案

入口參數:

AH=4EH

DS:DX=給定檔案名稱的字串

CX=搜尋時使用的檔案屬性:

位0=1——唯讀  

位1=1——隱含

位2=1——系統  

位3=1——卷標號

位4=1——目錄  

位5=1——歸檔

其它位保留不用,共置為0

出口參數:

CF=1——操作失敗,AX=錯誤號碼(02H、03H或12H),其含義見錯誤碼表,

否則,操作成功,DTA(Disk Transfer

Area)按下列方式填入資料: 位元組00~14H保留

位元組15H匹配的檔案屬性

位元組16~17H壓縮的檔案名稱

位元組18~19H壓縮的檔案日期

位元組1A~1DH檔案大小

位元組1E~2AH檔案名稱字串

 9、功能4FH

功能描述:在中斷21H的功能4EH成功使用之後,再搜尋下一個檔案名稱

入口參數:

AH=4FH

AL=返回的代碼

出口參數:

CF=1——操作失敗,AX=錯誤號碼(12H),其含義見錯誤碼表,

否則,操作成功,DTA中的資料如前面功能4EH所示

10、功能56H

功能描述:檔案換名

入口參數:

AH=56H

DS:DX=當前檔案名稱字串地址

ES:DI=新檔案名稱字串地址

出口參數:

CF=0——操作成功,

否則,AX=錯誤號碼(02H、03H、05H、11H),其含義見錯誤碼表

11、功能57H

功能描述:讀取/設定檔案的日期和時間

入口參數:

AH=57H

BX=檔案控制代碼 讀取日期和時間AL=00H

設定日期和時間AL=01H

CX=時間

(0F~0BH:小時,

0AH~05H:分鐘,

04H~00H:2秒的個數)

DX=日期

(0F~09H:年(相對1980年),

08H~05H:月,

04H~00H:日)

出口參數:

CF=1——操作失敗,

AX=錯誤號碼(01H、06H),其含義見錯誤碼表,

否則,若是讀檔案資訊,則,CX=時間,DX=日期

12、功能5AH

功能描述:建立臨時檔案

入口參數:

AH=5AH

DS:DX=路徑名的地址

CX=檔案屬性(位可組合),其定義如下:

位0=1 唯讀

位3-4=0  保留

位1=1 隱含

位5=1   歸檔

位2=1 系統

位6-15=0 保留

出口參數:

CF=0——操作成功,

AX=檔案控制代碼,

DS:DX=完整的路徑檔案地址,

否則,AX=錯誤號碼(03H、04H或05H),其含義見錯誤碼表

13、功能5BH

功能描述:建立新檔案

入口參數:

AH=5BH

DS:DX=路徑名的地址

CX=檔案屬性(位可組合),其定義如下:

 位0=1隻讀

位4=0保留

位1=1隱含

位5=1歸檔

位2=1系統

位6-15=0保留

位3=1卷標號

出口參數:

CF=0——操作成功,

AX=檔案控制代碼,

否則,AX=錯誤號碼(03H、04H、05H或50H),其含義見錯誤碼表

14、功能67H

功能描述:設定檔案控制代碼數(最多檔案數)

入口參數:

AH=67H

BX=控制代碼的數量

出口參數:

CF=0——操作成功,

否則,AX=錯誤號碼,其含義見錯誤碼表

15、功能6CH

功能描述:擴充的開啟檔案功能(開啟、建立或替換檔案)

入口參數:

AH=6CH

AL=00H

DS:SI=路徑名的地址

BX=開啟檔案

位2~0

000—唯讀  

001—唯寫  

010—可讀、寫

位3保留(0)

位6~4

000—相容   

001—拒絕讀寫  

010——拒絕寫

011—拒絕讀  

100——不拒絕任何操作

位7

0—子進程繼承控制代碼,

1—子進程不繼承控制代碼

位12~8保留(0)

位13致命錯誤處理程式,0—執行INT 24H,否則,返回錯誤碼給進程

位14寫入方式:

0—寫入緩衝區,

1—直接寫入檔案

位15保留(0)

CX=檔案屬性

位0=1 唯讀

位4=0   保留

位1=1        隱含

位5=1   歸檔

位2=1        系統

位6-15=0  保留

位3=1        卷標籤

DX=開啟標誌

位3~0  

0—開啟失敗,

1—開啟檔案,

2—替換檔案

位7~4  

0—開啟失敗,

1—建立檔案

位15~8 

0—保留

出口參數:

CF=1——操作失敗,AX=錯誤號碼,其含義見錯誤碼表,否則,

AX=檔案控制代碼

CX=1——檔案存在,開啟之

 =2——檔案不存在,建立之
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.