日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

DOS系统功能调用表(INT 21H)

發(fā)布時間:2024/4/18 windows 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DOS系统功能调用表(INT 21H) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

DOS功能調(diào)用

?

?

AH

功能

調(diào)用參數(shù)

返回參數(shù)

00

程序終止(INT 20H)

CS=程序段前綴

01

鍵盤輸入并回顯

AL=輸入字符

02

顯示輸出

DL=輸出字符

03

異步通迅輸入

AL=輸入數(shù)據(jù)

04

異步通迅輸出

DL=輸出數(shù)據(jù)

05

打印機輸出

DL=輸出字符

06

直接控制臺I/O

DL=FF(輸入)
DL=
字符(輸出)

AL=輸入字符

07

鍵盤輸入(無回顯)

AL=輸入字符

08

鍵盤輸入(無回顯)
檢測Ctrl-Break

AL=輸入字符

09

顯示字符串

DS:DX=串地址
'$'
結(jié)束字符串

0A

鍵盤輸入到緩沖區(qū)

DS:DX=緩沖區(qū)首地址
(DS:DX)=
緩沖區(qū)最大字符數(shù)

(DS:DX+1)=實際輸入的字符數(shù)

0B

檢驗鍵盤狀態(tài)

AL=00?有輸入
AL=FF?
無輸入

0C

清除輸入緩沖區(qū)并
請求指定的輸入功能

AL=輸入功能號
(1,6,7,8,A)

0D

磁盤復(fù)位

清除文件緩沖區(qū)

0E

指定當(dāng)前缺省的磁盤驅(qū)動器

DL=驅(qū)動器號?0=A,1=B,...

AL=驅(qū)動器數(shù)

0F

打開文件

DS:DX=FCB首地址

AL=00?文件找到
AL=FF?
文件未找到

10

關(guān)閉文件

DS:DX=FCB首地址

AL=00?目錄修改成功
AL=FF?
目錄中未找到文件

11

查找第一個目錄項

DS:DX=FCB首地址

AL=00?找到
AL=FF?
未找到

12

查找下一個目錄項

DS:DX=FCB首地址
(
文件中帶有*?)

AL=00?找到
AL=FF?
未找到

13

刪除文件

DS:DX=FCB首地址

AL=00?刪除成功
AL=FF?
未找到

14

順序讀

DS:DX=FCB首地址

AL=00?讀成功
? =01?
文件結(jié)束,記錄中無數(shù)據(jù)
? =02 DTA
空間不夠
? =03?
文件結(jié)束,記錄不完整

15

順序?qū)?/span>

DS:DX=FCB首地址

AL=00?寫成功
? =01?
盤滿
? =02 DTA
空間不夠

16

建文件

DS:DX=FCB首地址

AL=00?建立成功
? =FF?
無磁盤空間

17

文件改名

DS:DX=FCB首地址
(DS:DX+1)=
舊文件名
(DS:DX+17)=
新文件名

AL=00?成功
AL=FF?
未成功

19

取當(dāng)前缺省磁盤驅(qū)動器

AL=缺省的驅(qū)動器號?0=A,1=B,2=C,...

1A

DTA地址

DS:DX=DTA地址

1B

取缺省驅(qū)動器FAT信息

AL=每簇的扇區(qū)數(shù)
DS:BX=FAT
標(biāo)識字節(jié)
CX=
物理扇區(qū)大小
DX=
缺省驅(qū)動器的簇數(shù)

1C

取任一驅(qū)動器FAT信息

DL=驅(qū)動器號

同上

21

隨機讀

DS:DX=FCB首地址

AL=00?讀成功
? =01?
文件結(jié)束
? =02?
緩沖區(qū)溢出
? =03?
緩沖區(qū)不滿

22

隨機寫

DS:DX=FCB首地址

AL=00?寫成功
? =01?
盤滿
? =02?
緩沖區(qū)溢出

23

測定文件大小

DS:DX=FCB首地址

AL=00?成功(文件長度填入FCB)
AL=FF?
未找到

24

設(shè)置隨機記錄號

DS:DX=FCB首地址

25

設(shè)置中斷向量

DS:DX=中斷向量
AL=
中斷類型號

26

建立程序段前綴

DX=新的程序段前綴

27

隨機分塊讀

DS:DX=FCB首地址
CX=
記錄數(shù)

AL=00?讀成功
? =01?
文件結(jié)束
? =02?
緩沖區(qū)太小,傳輸結(jié)束
? =03?
緩沖區(qū)不滿

28

隨機分塊寫

DS:DX=FCB首地址
CX=
記錄數(shù)

AL=00?寫成功
? =01?
盤滿
? =02?
緩沖區(qū)溢出

29

分析文件名

ES:DI=FCB首地址
DS:SI=ASCIIZ

AL=
控制分析標(biāo)志

AL=00?標(biāo)準(zhǔn)文件
? =01?
多義文件
? =02?
非法盤符

2A

取日期

CX=
DH:DL=
:(二進制)

2B

設(shè)置日期

CX:DH:DL=::

AL=00?成功
? =FF?
無效

2C

取時間

CH:CL=:
DH:DL=
:1/100

2D

設(shè)置時間

CH:CL=:
DH:DL=
:1/100

AL=00?成功
? =FF?
無效

2E

置磁盤自動讀寫標(biāo)志

AL=00?關(guān)閉標(biāo)志
AL=01?
打開標(biāo)志

2F

取磁盤緩沖區(qū)的首址

ES:BX=緩沖區(qū)首址

30

DOS版本號

AH=發(fā)行號,AL=版本

31

結(jié)束并駐留

AL=返回碼
DX=
駐留區(qū)大小

33

Ctrl-Break檢測

AL=00?取狀態(tài)
? =01?
置狀態(tài)(DL)
DL=00?
關(guān)閉檢測
? =01?
打開檢測

DL=00?關(guān)閉Ctrl-Break檢測
? =01?
打開Ctrl-Break檢測

35

取中斷向量

AL=中斷類型

ES:BX=中斷向量

36


取空閑磁盤空間


DL=驅(qū)動器號?
0=
缺省,1=A,2=B,...

成功:AX=每簇扇區(qū)數(shù)
???? BX=
有效簇數(shù)
???? CX=
每扇區(qū)字節(jié)數(shù)
???? DX=
總簇數(shù)
失敗:AX=FFFF

38

/取國家信息

DS:DX=信息區(qū)首地址

BX=國家碼(國際電話前綴碼)
AX=
錯誤碼

39

建立子目錄(MKDIR)

DS:DX=ASCIIZ串地址

AX=錯誤碼

3A

刪除子目錄(RMDIR

DS:DX=ASCIIZ串地址

AX=錯誤碼

3B

改變當(dāng)前目錄(CHDIR)

DS:DX=ASCIIZ串地址

AX=錯誤碼

3C

建立文件

DS:DX=ASCIIZ串地址
CX=
文件屬性

成功:AX=文件代號
錯誤:AX=錯誤碼

3D

打開文件

DS:DX=ASCIIZ串地址
AL=0?

? =1?

? =3?
/

成功:AX=文件代號
錯誤:AX=錯誤碼

3E

關(guān)閉文件

BX=文件代號

失敗:AX=錯誤碼

3F

讀文件或設(shè)備

DS:DX=數(shù)據(jù)緩沖區(qū)地址
BX=
文件代號
CX=
讀取的字節(jié)數(shù)

讀成功:
? AX=
實際讀入的字節(jié)數(shù)
? AX=0?
已到文件尾
讀出錯:AX=錯誤碼

40

寫文件或設(shè)備

DS:DX=數(shù)據(jù)緩沖區(qū)地址
BX=
文件代號
CX=
寫入的字節(jié)數(shù)

寫成功:
? AX=
實際寫入的字節(jié)數(shù)
寫出錯:AX=錯誤碼

41

刪除文件

DS:DX=ASCIIZ串地址

成功:AX=00
出錯:AX=錯誤碼(2,5)

42


移動文件指針


BX=文件代號
CX:DX=
位移量
AL=
移動方式(0:從文件頭絕對位移,1:從當(dāng)前位置相對移動,2:從文件尾絕對位移)

成功:DX:AX=新文件指針位置
出錯:AX=錯誤碼

43

/取文件屬性

DS:DX=ASCIIZ串地址
AL=0?
取文件屬性
AL=1?
置文件屬性
CX=
文件屬性

成功:CX=文件屬性
失敗:CX=錯誤碼

44




設(shè)備文件I/O控制




BX=文件代號
AL=0?
取狀態(tài)
? =1?
置狀態(tài)DX
? =2?
讀數(shù)據(jù)
? =3?
寫數(shù)據(jù)
? =6?
取輸入狀態(tài)
? =7?
取輸出狀態(tài)

DX=設(shè)備信息




45

復(fù)制文件代號

BX=文件代號1

成功:AX=文件代號2
失敗:AX=錯誤碼

46

人工復(fù)制文件代號

BX=文件代號1
CX=
文件代號2

失敗:AX=錯誤碼

47

取當(dāng)前目錄路徑名

DL=驅(qū)動器號
DS:SI=ASCIIZ
串地址

(DS:SI)=ASCIIZ
失敗:AX=出錯碼

48

分配內(nèi)存空間

BX=申請內(nèi)存容量

成功:AX=分配內(nèi)存首地
失敗:BX=最大可用內(nèi)存

49

釋放內(nèi)容空間

ES=內(nèi)存起始段地址

失敗:AX=錯誤碼

4A

調(diào)整已分配的存儲塊

ES=原內(nèi)存起始地址
BX=
再申請的容量

失敗:BX=最大可用空間
???? AX=
錯誤碼

4B

裝配/執(zhí)行程序

DS:DX=ASCIIZ串地址
ES:BX=
參數(shù)區(qū)首地址
AL=0?
裝入執(zhí)行
AL=3?
裝入不執(zhí)行

失敗:AX=錯誤碼

4C

帶返回碼結(jié)束

AL=返回碼

4D

取返回代碼

AX=返回代碼

4E

查找第一個匹配文件

DS:DX=ASCIIZ串地址
CX=
屬性

AX=出錯代碼(02,18)

4F

查找下一個匹配文件

DS:DX=ASCIIZ串地址
(
文件名中帶有?*)

AX=出錯代碼(18)

54

取盤自動讀寫標(biāo)志

AL=當(dāng)前標(biāo)志值

56

文件改名

DS:DX=ASCIIZ()
ES:DI=ASCIIZ
()

AX=出錯碼(03,05,17)

57

/取文件日期和時間

BX=文件代號
AL=0?
讀取
AL=1?
設(shè)置(DX:CX)

DX:CX=日期和時間
失敗:AX=錯誤碼

58

/置分配策略碼

AL=0?取碼
AL=1?
置碼(BX)

成功:AX=策略碼
失敗:AX=錯誤碼

59

取擴充錯誤碼

AX=擴充錯誤碼
BH=
錯誤類型
BL=
建議的操作
CH=
錯誤場所

5A

建立臨時文件

CX=文件屬性
DS:DX=ASCIIZ
串地址

成功:AX=文件代號
失敗:AX=錯誤碼

5B

建立新文件

CX=文件屬性
DS:DX=ASCIIZ
串地址

成功:AX=文件代號
失敗:AX=錯誤碼

5C


控制文件存取


AL=00封鎖
? =01
開啟
BX=
文件代號
CX:DX=
文件位移
SI:DI=
文件長度

失敗:AX=錯誤碼


62

取程序段前綴

BX=PSP地址

?

總結(jié)

以上是生活随笔為你收集整理的DOS系统功能调用表(INT 21H)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。