| AH | 功能 | 調(diào)用參數(shù) | 返回參數(shù) |
| 00 | 程序終止(同INT 20H) | CS=程序段前綴 |
| 01 | 鍵盤輸入并回顯 | AL=輸入字符 |
| 02 | 顯示輸出 | DL=輸出字符 |
| 03 | 異步通迅輸入 | AL=輸入數(shù)據(jù) |
| 04 | 異步通迅輸出 | DL=輸出數(shù)據(jù) |
| 05 | 打印機(jī)輸出 | 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í)際輸入的字符數(shù) |
| 0B | 檢驗(yàn)鍵盤狀態(tài) | AL=00?有輸入 AL=FF?無輸入 |
| 0C | 清除輸入緩沖區(qū)并 請求指定的輸入功能 | AL=輸入功能號 (1,6,7,8,A) |
| 0D | 磁盤復(fù)位 | 清除文件緩沖區(qū) |
| 0E | 指定當(dāng)前缺省的磁盤驅(qū)動(dòng)器 | DL=驅(qū)動(dòng)器號?0=A,1=B,... | AL=驅(qū)動(dòng)器數(shù) |
| 0F | 打開文件 | DS:DX=FCB首地址 | AL=00?文件找到 AL=FF?文件未找到 |
| 10 | 關(guān)閉文件 | DS:DX=FCB首地址 | AL=00?目錄修改成功 AL=FF?目錄中未找到文件 |
| 11 | 查找第一個(gè)目錄項(xiàng) | DS:DX=FCB首地址 | AL=00?找到 AL=FF?未找到 |
| 12 | 查找下一個(gè)目錄項(xiàng) | 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ū)動(dòng)器 | AL=缺省的驅(qū)動(dòng)器號?0=A,1=B,2=C,... |
| 1A | 置DTA地址 | DS:DX=DTA地址 |
| 1B | 取缺省驅(qū)動(dòng)器FAT信息 | AL=每簇的扇區(qū)數(shù) DS:BX=FAT標(biāo)識字節(jié) CX=物理扇區(qū)大小 DX=缺省驅(qū)動(dòng)器的簇?cái)?shù) |
| 1C | 取任一驅(qū)動(dòng)器FAT信息 | DL=驅(qū)動(dòng)器號 | 同上 |
| 21 | 隨機(jī)讀 | DS:DX=FCB首地址 | AL=00?讀成功 ? =01?文件結(jié)束 ? =02?緩沖區(qū)溢出 ? =03?緩沖區(qū)不滿 |
| 22 | 隨機(jī)寫 | DS:DX=FCB首地址 | AL=00?寫成功 ? =01?盤滿 ? =02?緩沖區(qū)溢出 |
| 23 | 測定文件大小 | DS:DX=FCB首地址 | AL=00?成功(文件長度填入FCB) AL=FF?未找到 |
| 24 | 設(shè)置隨機(jī)記錄號 | DS:DX=FCB首地址 |
| 25 | 設(shè)置中斷向量 | DS:DX=中斷向量 AL=中斷類型號 |
| 26 | 建立程序段前綴 | DX=新的程序段前綴 |
| 27 | 隨機(jī)分塊讀 | DS:DX=FCB首地址 CX=記錄數(shù) | AL=00?讀成功 ? =01?文件結(jié)束 ? =02?緩沖區(qū)太小,傳輸結(jié)束 ? =03?緩沖區(qū)不滿 |
| 28 | 隨機(jī)分塊寫 | 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=月:日(二進(jìn)制) |
| 2B | 設(shè)置日期 | CX:DH:DL=年:月:日 | AL=00?成功 ? =FF?無效 |
| 2C | 取時(shí)間 | CH:CL=時(shí):分 DH:DL=秒:1/100秒 |
| 2D | 設(shè)置時(shí)間 | CH:CL=時(shí):分 DH:DL=秒:1/100秒 | AL=00?成功 ? =FF?無效 |
| 2E | 置磁盤自動(dòng)讀寫標(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ū)動(dòng)器號? 0=缺省,1=A,2=B,... | 成功:AX=每簇扇區(qū)數(shù) ???? BX=有效簇?cái)?shù) ???? CX=每扇區(qū)字節(jié)數(shù) ???? DX=總簇?cái)?shù) 失敗:AX=FFFF |
| 38 | 置/取國家信息 | DS:DX=信息區(qū)首地址 | BX=國家碼(國際電話前綴碼) AX=錯(cuò)誤碼 |
| 39 | 建立子目錄(MKDIR) | DS:DX=ASCIIZ串地址 | AX=錯(cuò)誤碼 |
| 3A | 刪除子目錄(RMDIR) | DS:DX=ASCIIZ串地址 | AX=錯(cuò)誤碼 |
| 3B | 改變當(dāng)前目錄(CHDIR) | DS:DX=ASCIIZ串地址 | AX=錯(cuò)誤碼 |
| 3C | 建立文件 | DS:DX=ASCIIZ串地址 CX=文件屬性 | 成功:AX=文件代號 錯(cuò)誤:AX=錯(cuò)誤碼 |
| 3D | 打開文件 | DS:DX=ASCIIZ串地址 AL=0?讀 ? =1?寫 ? =3?讀/寫 | 成功:AX=文件代號 錯(cuò)誤:AX=錯(cuò)誤碼 |
| 3E | 關(guān)閉文件 | BX=文件代號 | 失敗:AX=錯(cuò)誤碼 |
| 3F | 讀文件或設(shè)備 | DS:DX=數(shù)據(jù)緩沖區(qū)地址 BX=文件代號 CX=讀取的字節(jié)數(shù) | 讀成功: ? AX=實(shí)際讀入的字節(jié)數(shù) ? AX=0?已到文件尾 讀出錯(cuò):AX=錯(cuò)誤碼 |
| 40 | 寫文件或設(shè)備 | DS:DX=數(shù)據(jù)緩沖區(qū)地址 BX=文件代號 CX=寫入的字節(jié)數(shù) | 寫成功: ? AX=實(shí)際寫入的字節(jié)數(shù) 寫出錯(cuò):AX=錯(cuò)誤碼 |
| 41 | 刪除文件 | DS:DX=ASCIIZ串地址 | 成功:AX=00 出錯(cuò):AX=錯(cuò)誤碼(2,5) |
| 42 | 移動(dòng)文件指針 | BX=文件代號 CX:DX=位移量 AL=移動(dòng)方式(0:從文件頭絕對位移,1:從當(dāng)前位置相對移動(dòng),2:從文件尾絕對位移) | 成功:DX:AX=新文件指針位置 出錯(cuò):AX=錯(cuò)誤碼 |
| 43 | 置/取文件屬性 | DS:DX=ASCIIZ串地址 AL=0?取文件屬性 AL=1?置文件屬性 CX=文件屬性 | 成功:CX=文件屬性 失敗:CX=錯(cuò)誤碼 |
| 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=錯(cuò)誤碼 |
| 46 | 人工復(fù)制文件代號 | BX=文件代號1 CX=文件代號2 | 失敗:AX=錯(cuò)誤碼 |
| 47 | 取當(dāng)前目錄路徑名 | DL=驅(qū)動(dòng)器號 DS:SI=ASCIIZ串地址 | (DS:SI)=ASCIIZ串 失敗:AX=出錯(cuò)碼 |
| 48 | 分配內(nèi)存空間 | BX=申請內(nèi)存容量 | 成功:AX=分配內(nèi)存首地 失敗:BX=最大可用內(nèi)存 |
| 49 | 釋放內(nèi)容空間 | ES=內(nèi)存起始段地址 | 失敗:AX=錯(cuò)誤碼 |
| 4A | 調(diào)整已分配的存儲塊 | ES=原內(nèi)存起始地址 BX=再申請的容量 | 失敗:BX=最大可用空間 ???? AX=錯(cuò)誤碼 |
| 4B | 裝配/執(zhí)行程序 | DS:DX=ASCIIZ串地址 ES:BX=參數(shù)區(qū)首地址 AL=0?裝入執(zhí)行 AL=3?裝入不執(zhí)行 | 失敗:AX=錯(cuò)誤碼 |
| 4C | 帶返回碼結(jié)束 | AL=返回碼 |
| 4D | 取返回代碼 | AX=返回代碼 |
| 4E | 查找第一個(gè)匹配文件 | DS:DX=ASCIIZ串地址 CX=屬性 | AX=出錯(cuò)代碼(02,18) |
| 4F | 查找下一個(gè)匹配文件 | DS:DX=ASCIIZ串地址 (文件名中帶有?或*) | AX=出錯(cuò)代碼(18) |
| 54 | 取盤自動(dòng)讀寫標(biāo)志 | AL=當(dāng)前標(biāo)志值 |
| 56 | 文件改名 | DS:DX=ASCIIZ串(舊) ES:DI=ASCIIZ串(新) | AX=出錯(cuò)碼(03,05,17) |
| 57 | 置/取文件日期和時(shí)間 | BX=文件代號 AL=0?讀取 AL=1?設(shè)置(DX:CX) | DX:CX=日期和時(shí)間 失敗:AX=錯(cuò)誤碼 |
| 58 | 取/置分配策略碼 | AL=0?取碼 AL=1?置碼(BX) | 成功:AX=策略碼 失敗:AX=錯(cuò)誤碼 |
| 59 | 取擴(kuò)充錯(cuò)誤碼 | AX=擴(kuò)充錯(cuò)誤碼 BH=錯(cuò)誤類型 BL=建議的操作 CH=錯(cuò)誤場所 |
| 5A | 建立臨時(shí)文件 | CX=文件屬性 DS:DX=ASCIIZ串地址 | 成功:AX=文件代號 失敗:AX=錯(cuò)誤碼 |
| 5B | 建立新文件 | CX=文件屬性 DS:DX=ASCIIZ串地址 | 成功:AX=文件代號 失敗:AX=錯(cuò)誤碼 |
| 5C | 控制文件存取 | AL=00封鎖 ? =01開啟 BX=文件代號 CX:DX=文件位移 SI:DI=文件長度 | 失敗:AX=錯(cuò)誤碼 |
| 62 | 取程序段前綴 | BX=PSP地址 |