DOS功能調(diào)用
功能號(hào)在AH中,并設(shè)好其余的入口參數(shù),向DOS發(fā)出INT21H命令,最后獲得出口參數(shù)。
調(diào)用號(hào) |
功能 |
入口參數(shù) |
出口參數(shù) |
00H |
程序終止 |
CS=PSP段地址 |
|
01H |
鍵盤(pán)輸入字符 |
|
AL=輸入的字符 |
02H |
顯示輸出 |
DL=顯示的字符 |
|
03H |
串行設(shè)備輸入 |
|
AL=輸入的字符 |
04H |
串行設(shè)備輸出 |
DL=輸出的字符 |
|
05H |
打印輸出 |
DL=輸出的字符 |
|
06H |
直接控制臺(tái)I/O
|
DL=0FFH(輸入請(qǐng)求) DL=字符(輸出請(qǐng)求) |
AL=輸入的字符
|
07H |
直接控制臺(tái)I/O (不顯示輸入) |
|
AL=輸入的字符
|
08H |
鍵盤(pán)輸入字符(無(wú)回顯) |
|
AL=輸入的字符 |
09H |
顯示字符串 |
DS:DX=緩沖區(qū)首址 |
|
0AH |
輸入字符串 |
DS:DX=緩沖區(qū)首址 |
|
0BH |
檢查標(biāo)準(zhǔn)輸入狀態(tài)
|
|
AL=00無(wú)按鍵 AL=0FFH有按鍵 |
0CH |
清除輸入緩沖區(qū)并執(zhí)行指定的標(biāo)準(zhǔn)輸入功能 |
AL=功能號(hào) (01/06/07/08/0AH) DS:DX=緩沖區(qū)(0AH功能) |
AL=輸入的數(shù)據(jù) (功能01/06/07/08) |
0DH |
初始化磁盤(pán)狀態(tài) |
|
|
0EH |
選擇缺省的驅(qū)動(dòng)器 |
DL=驅(qū)動(dòng)器號(hào)(0=A,1=B..) |
AL=邏輯驅(qū)動(dòng)器數(shù) |
0FH |
打開(kāi)文件 |
DS:DX=未打開(kāi)的FCB首址 |
AL=00成功,0FFH失敗 |
10H |
關(guān)閉文件 |
DS:DX=打開(kāi)的FCB首址 |
AL=00成功,0FFH失敗 |
11H |
查找第一匹配目錄 |
DS:DX=未打開(kāi)的FCB首址 |
AL=00成功,0FFH失敗 |
12H |
查找下一匹配目錄 |
DS:DX=未打開(kāi)的FCB首址 |
AL=00成功,0FFH失敗 |
13H |
刪除文件 |
DS:DX=未打開(kāi)的FCB首址 |
AL=00成功,0FFH失敗 |
14H
|
順序讀
|
DS:DX=打開(kāi)的FCB首址
|
AL=00成功,01文件結(jié)束 02緩沖區(qū)太小 03緩沖區(qū)不滿(mǎn) |
15H |
順序?qū)?/P> |
DS:DX=打開(kāi)的FCB首址 |
AL=00成功,01盤(pán)滿(mǎn) 02緩沖區(qū)太小 |
16H |
創(chuàng)建文件 |
DS:DX=未打開(kāi)的FCB首址 |
AL=00成功 0FFH目錄區(qū)滿(mǎn) |
17H |
文件換名 |
DS:DX=被修改的FCB首址 |
AL=00成功,0FFH未找 到目錄項(xiàng)或文件重名 |
*18H |
保留未用 |
|
|
19H |
取缺省驅(qū)動(dòng)器號(hào) |
|
AL=驅(qū)動(dòng)器號(hào)(0=A,1=B..) |
1AH |
設(shè)置磁盤(pán)緩沖區(qū)DTA |
DS:DX=磁盤(pán)緩沖區(qū)首址 |
|
*1BH |
取缺省驅(qū)動(dòng)器的磁盤(pán)格 式信息
|
|
AL=每簇的扇區(qū)數(shù) CX=每扇區(qū)的字節(jié)數(shù) DX=數(shù)據(jù)區(qū)總簇?cái)?shù)-1 DS:BX=介質(zhì)描述字節(jié) |
*1CH |
取指定驅(qū)動(dòng)器的磁盤(pán)格 式信息 |
DL=驅(qū)動(dòng)器號(hào)(0=缺省, 1=A..) |
AL=每簇的扇區(qū)數(shù) CX=每扇區(qū)的字節(jié)數(shù) DX=數(shù)據(jù)區(qū)總簇?cái)?shù)-1 DS:BX=介質(zhì)描述字節(jié) |
*1DH |
保留未用 |
|
|
*1EH |
保留未用 |
|
|
*1FH |
取缺省驅(qū)動(dòng)器的DPB |
|
DS:BX=DPB首址 |
*20H |
保留未用 |
|
|
21H
|
隨機(jī)讀一個(gè)記錄
|
DS:DX=打開(kāi)的FCB首址
|
AL=00成功,01文件結(jié)束 02緩沖區(qū)太小 03緩沖區(qū)不滿(mǎn) |
22H
|
隨機(jī)寫(xiě)一個(gè)記錄
|
DS:DX=打開(kāi)的FCB首址
|
AL=00成功,01盤(pán)滿(mǎn) 02緩沖區(qū)太小 |
23H |
取文件大小 |
DS:DX=未打開(kāi)的FCB首址 |
AL=00成功,0FFH失敗 |
24H |
設(shè)置隨機(jī)記錄號(hào) |
DS:DX=打開(kāi)的FCB首址 |
|
25H |
設(shè)置中斷向量 |
AL=中斷號(hào) DS:DX=中斷程序入口 |
|
*26H |
創(chuàng)建新的PSP |
DS:DX=新的PSP段地址 |
|
27H
|
隨機(jī)讀若干記錄
|
DS:DX=打開(kāi)的FCB首址 CX=要讀入的記錄數(shù)
|
AL=00成功,01文件結(jié)束 AL=02緩沖區(qū)太小 AL=03緩沖區(qū)不滿(mǎn) CX=讀入的塊數(shù) |
28H
|
隨機(jī)寫(xiě)若干記錄
|
DS:DX=打開(kāi)的FCB首址 CX=要寫(xiě)入的記錄數(shù)
|
AL=00成功,01盤(pán)滿(mǎn) AL=02緩沖區(qū)太小 AL=03緩沖區(qū)不滿(mǎn) CX=已寫(xiě)的塊數(shù) |
29H
|
分析文件名
|
AL=分析控制標(biāo)記 DS:SI=要分析的字符串 ES:DI=未打開(kāi)的FCB首址
|
AL=00未通配符 01有通配符 0FFH驅(qū)動(dòng)器字母無(wú)效 ES:DI=未打開(kāi)的FCB |
2AH
|
取系統(tǒng)日期
|
|
CX=年(1980-2099) DH=月,DL=日,AL=星期 (0=星期日) |
2BH |
置系統(tǒng)日期 |
CX=年,DH=月,DL=日 |
AL=00成功,0FFH失敗 |
2CH
|
取系統(tǒng)時(shí)間
|
|
CH=時(shí)(0-23),CL=分,DH= 秒,DL=百分之幾秒 |
2DH |
置系統(tǒng)時(shí)間 |
CX=時(shí),分DX=秒,百分秒 |
AL=00成功,0FFH失敗 |
2EH |
設(shè)置/復(fù)位校驗(yàn)開(kāi)關(guān) |
AL=0關(guān)閉,1打開(kāi) |
|
2FH |
取磁盤(pán)傳輸?shù)刂稤TA |
|
ES:BX=DTA首地址 |
30H |
取DOS版本 |
|
AL,AH=DOS主、次版本 |
31H |
結(jié)束并駐留 |
AL=返回碼,DX=內(nèi)存大小 |
|
*32H |
取指定驅(qū)動(dòng)器的DPB |
|
DS:BX=DPB首址 |
33H |
取或置Ctrl-Break標(biāo)志 |
AL=0:取,1:置,DL=標(biāo)志 |
DL=標(biāo)志(取功能)0:關(guān) 1:開(kāi) |
*34H |
取DOS中斷標(biāo)志 |
|
ES:BX=DOS中斷標(biāo)志 |
35H |
取中斷向量地址 |
AL=中斷號(hào) |
ES:BX=中斷程序入口 |
36H |
取磁盤(pán)的自由空間 |
DL=驅(qū)動(dòng)器號(hào)(0=缺省,1=A |
AX=FF驅(qū)動(dòng)器無(wú)效 其它每簇扇區(qū)數(shù) BX=自由簇?cái)?shù) CX=每扇區(qū)字節(jié)數(shù) BX=文件區(qū)所占簇?cái)?shù) |
*37H |
取/置參數(shù)分隔符 取/置設(shè)備名許可標(biāo)記 |
AL=0:取分隔符,1:置分隔 符,DL=分隔符 2:取許可標(biāo)記 3:置許可標(biāo)記,DL=許 可標(biāo)記 |
DL=分隔符(功能0) DL=許可標(biāo)記(功能2) |
38H |
取國(guó)家信息 |
AL=0,DS:DX=緩沖區(qū)首址 |
|
39H |
創(chuàng)建子目錄 |
DS:DX=路徑字符串 |
CF=0成功,1失敗,AX=錯(cuò) 誤碼 |
3AH |
刪除子目錄 |
DS:DX=路徑字符串 |
CF=0成功,1失敗,AX=錯(cuò) 誤碼 |
3BH |
設(shè)置子目錄 |
DS:DX=路徑字符串 |
CF=0成功,1失敗,AX=錯(cuò) 誤碼 |
3CH |
創(chuàng)建文件 |
DS:DX=帶路徑的文件名 CX=屬性1-只讀2-隱蔽 4-系統(tǒng) |
CF=0成功,AX=文件號(hào) CF=1失敗,AX=錯(cuò)誤碼 |
3DH |
打開(kāi)文件 |
DS:DX=帶路徑的文件名 AL=方式0-讀1-寫(xiě)2-讀 寫(xiě) |
CF=0成功,AX=文件號(hào) CF=1失敗,AX=錯(cuò)誤碼 |
3EH |
關(guān)閉文件 |
BX=文件號(hào) |
CF=0成功 CF=1失敗,AX=錯(cuò)誤碼 |
3FH |
讀文件或設(shè)備 |
BX=文件號(hào) CX=字節(jié)數(shù) |
CF=0成功 DX:AX=新的指針位置 |
40H |
寫(xiě)文件或設(shè)備 |
DS:DX=緩沖區(qū)首址 |
CF=1失敗,AX=錯(cuò)誤碼 |
41H |
刪除文件 |
DS:DX=帶路徑的文件名 |
CF=0成功,1失敗,AX=錯(cuò) 誤碼 |
42H |
移動(dòng)文件指針 |
AL=方式0-正向1-相對(duì) 2-反向 BX=文件號(hào),CX:DX=移動(dòng)的 位移量 |
CF=0成功,DX:AX=新的文 件指針 CF=1失敗,AX=錯(cuò)誤碼 |
43H |
取/置文件屬性 |
AL=0:取1:置,CX=新屬性 DS:DX=帶路徑的文件名 |
CX=屬性(功能0)1-只讀 2-隱蔽4-系統(tǒng)20H-歸檔 |
44H
|
設(shè)備輸入/輸出控制: 設(shè)置/取得與打開(kāi)設(shè)備 的句柄相關(guān)聯(lián)信息,或 發(fā)送/接收控制字符串 至設(shè)備句柄
|
AL=0/1取/置設(shè)備信息 2/3讀/寫(xiě)設(shè)備控制通道 4/5同功能2/3 6/7取輸入/輸出狀態(tài) BX=句柄(功能0-3,6-7) BL=驅(qū)動(dòng)器號(hào)(功能4-5) CX=字節(jié)數(shù)(功能2-5) DS:DX=緩沖區(qū)(功能2-5) |
CF=0成功 DX=設(shè)備信息(功能0) AL=狀態(tài)(功能6/7) 0未準(zhǔn)備,1準(zhǔn)備 AX=傳送的字節(jié)數(shù)(功能2- 5)
|
45H
|
復(fù)制文件號(hào)(對(duì)于一個(gè) 打開(kāi)的文件返回一個(gè)新 的文件號(hào)) |
BX=文件號(hào)
|
CF=0成功,AX=新文件號(hào) CF=1失敗,AX=錯(cuò)誤碼
|
46H
|
強(qiáng)行復(fù)制文件號(hào)
|
BX=現(xiàn)存的文件號(hào),CX=第2 文件號(hào) |
CF=0成功,1失敗 AX=錯(cuò)誤碼 |
47H
|
取當(dāng)前目錄
|
DL=驅(qū)動(dòng)器號(hào) DS:SI=緩沖區(qū)首址 |
CF=0成功,1失敗 AX=錯(cuò)誤碼 |
48H
|
分配內(nèi)存
|
BX=所需的內(nèi)存節(jié)數(shù)
|
CF=0成功,AX=分配的段 數(shù),CF=1失敗,AX=錯(cuò)誤碼 BX=最大可用塊大小 |
49H |
釋放內(nèi)存 |
ES=釋放塊的段值 |
CF=1失敗,AX=錯(cuò)誤碼 |
4AH
|
修改分配內(nèi)存
|
ES=修改塊的段值 BX=新長(zhǎng)度(以節(jié)為單位) |
CF=1失敗,AX=錯(cuò)誤碼 BX=最大可用塊大小 |
4BH
|
裝載程序 運(yùn)行程序
|
AL=0裝載并運(yùn)行 1獲得執(zhí)行信息 3裝載但不運(yùn)行 DS:DX=帶路徑的文件名 ES:BX=裝載用的參數(shù)塊 |
CF=1失敗,AX=錯(cuò)誤碼
|
4CH |
帶返回碼的結(jié)束 |
AL=進(jìn)程返回碼 |
|
4DH
|
取由31H/4CH帶回的返 回碼
|
|
AL=進(jìn)程返回碼 AH=類(lèi)型碼,0-正常結(jié)束 1-由Ctrl-Break結(jié)束 2-由嚴(yán)重設(shè)備錯(cuò)誤而結(jié)束 3-由調(diào)用31H而結(jié)束 |
4EH
|
查找第一個(gè)匹配項(xiàng)
|
DS:DX=帶路徑的文件名 CX=屬性 |
CF=1失敗,AX=錯(cuò)誤碼
|
4FH |
查找下一個(gè)匹配項(xiàng) |
|
CF=1失敗,AX=錯(cuò)誤碼 |
*50H
|
建立當(dāng)前的PSP段地址
|
BX=PSP段地址
|
|
*51H |
讀當(dāng)前的PSP段地址 |
|
BX=PSP段地址 |
*52H |
取DOS系統(tǒng)數(shù)據(jù)區(qū)首址 |
|
ES:BX=DOS數(shù)據(jù)區(qū)首址 |
*53H |
為塊設(shè)備建立DPB |
DS:SI=BPB,ES:DI=DPB |
|
54H |
取校驗(yàn)開(kāi)關(guān)設(shè)定值 |
|
AL=標(biāo)志值(0:關(guān),1:開(kāi)) |
*55H |
由當(dāng)前PSP建立新PSP |
DX=PSP段地址 |
|
56H
|
文件換名
|
DS:DX=帶路徑的舊文件名 ES:DI=帶路徑的新文件名 |
CF=1失敗,AX=錯(cuò)誤碼
|
57H
|
取/置文件時(shí)間及日期
|
AL=0/1取/置,BX=文件號(hào) CX=時(shí)間,DX=日期 |
CF=0成功,CX=時(shí)間,DX= 日期 |
CF=1失敗,AX=錯(cuò)誤碼
錯(cuò)誤碼 |
錯(cuò)誤類(lèi)型 |
錯(cuò)誤碼 |
錯(cuò)誤類(lèi)型 |
01H |
無(wú)效的功能號(hào) |
0AH |
不正確的環(huán)境 |
02H |
文件未找到 |
0BH |
不正確的格式 |
03H |
路徑未找到 |
0CH |
無(wú)效的存取代碼 |
04H |
打開(kāi)的文件太多 |
0DH |
無(wú)效的數(shù)據(jù) |
05H |
拒絕存取 |
0EH |
保留 |
06H |
非法的文件號(hào) |
0FH |
指定的驅(qū)動(dòng)器無(wú)效 |
07H |
內(nèi)存控制塊破壞 |
10H |
試圖刪除當(dāng)前目錄 |
08H |
沒(méi)有足夠的內(nèi)存空間 |
11H |
非同一設(shè)備 |
09H |
無(wú)效的內(nèi)存塊地址 |
12H |
沒(méi)有更多的文件 |
|
|
|
全國(guó)職稱(chēng)計(jì)算機(jī)考試速成過(guò)關(guān)系列套裝:W .. 定價(jià):¥133 優(yōu)惠價(jià):¥133.0 更多書(shū)籍 | |
全國(guó)職稱(chēng)計(jì)算機(jī)考試速成過(guò)關(guān)系列套裝:W .. 定價(jià):¥124 優(yōu)惠價(jià):¥124.0 更多書(shū)籍 |