?? bios和dos中斷大全.txt
字號:
當前塊字段0CH00H
記錄大小字段0EH0080H
文件長度字段10H文件字節數
日期字段14H日期
時間字段16H時間
(2)、功能10H
功能描述:關閉文件
入口參數:AH=10H
DS:DX=文件控制塊的地址
出口參數:AL=00H——關閉成功,否則,AL=FFH
(3)、功能11H和12H
功能描述:查找第一個或下一個相匹配的文件
入口參數:AH=11H——第一個相匹配的文件
=12H——下一個相匹配的文件
DS:DX=文件控制塊的地址
出口參數:AL=00H——查找到,否則,AL=FFH
(4)、功能13H
功能描述:在指定(或缺省)的驅動器中,刪除所有相匹配的文件
入口參數:AH=13H
DS:DX=文件控制塊的地址
出口參數:AL=00H——刪除成功,否則,AL=FFH
(5)、功能16H
功能描述:在當前目錄中創建一個文件,其文件長度為0,并打開該文件,為隨后的讀/寫操作作好必要的準備
入口參數:AH=16H
DS:DX=未打開的文件控制塊的地址
出口參數:AL=00H——創建成功,否則,AL=FFH(如:磁盤滿)
(6)、功能17H
功能描述:在指定的驅動器的當前目錄中,把所有相匹配的文件換名
入口參數:AH=17H
DS:DX=指定文件控制塊的地址
出口參數:AL=00H——換名成功,否則,AL=FFH
(7)、功能23H
功能描述:在當前目錄中查找一個相匹配的文件。如果發現,則用其記錄數來更新其文件大小
入口參數:AH=23H
DS:DX=未打開的文件控制塊的地址
出口參數:AL=00H——匹配成功,FCB中偏移量為21H的字段被設置為其記錄數,否則,AL=0FFH
(8)、功能29H
功能描述:分析一個字符串(文件名)置入FCB表中的不同字段
入口參數:AH=29H
CX=要寫入的記錄數
DS:SI=字符串段的地址
ES:DI=FCB的地址
AL=分析的控制標志位 位3=1——若字符串中有文件后綴,則FCB中的文件后綴將改變
=0——若后綴忽略修改,或若分析后無后綴,則FCB中后綴字段被置為“空”
位2=1——若字符串中有文件名,則FCB中的文件名將改變
=0——若文件名忽略修改,或若分析后無文件名,則FCB中文件名字段被置為“空”
位1=1——若字符串中指定了驅動器號,則FCB中的ID字節被修改
=0——若ID字節忽略修改,或若分析后沒有指定驅動器號,則FCB中驅動器字段被置為0(缺省值)
位0=1——
=0——忽略前導分割符
不忽略前導分割符
出口參數:AL=00H—沒有通配字符 01H—有通配字符 FFH—驅動器號非法
DS:SI=分析后文件名第一個字符的地址
ES:DI=格式化后的、未打開的FCB地址
6、記錄操作功能(Record Function)
1AH —設置數據傳輸區地址42H —設置文件指針
2FH —讀取數據傳輸區地址5CH —文件區域加鎖或解鎖
3FH —讀文件或設備68H —提交文件緩沖區數據
40H —寫文件或設備
(2)、功能2FH
功能描述:為FCB讀/寫操作而獲取DTA的當前地址
入口參數:AH=2FH
出口參數:ES:BX=DTA的段地址和偏移量
(3)、功能3FH
功能描述:從先前打開的文件中讀出指定數目的字節,并移動文件指針
入口參數:AH=3FH
BX=文件句柄
CX=將要讀出的字節數
DS:DX=存放字符的緩沖區地址
出口參數:CF=0——讀取成功,AX=讀取的字符數,否則,AX=錯誤號(05H或06H),其含義見錯誤代碼表
(4)、功能40H
功能描述:向先前打開的文件寫入指定數量的字節,并相應修改文件指針
入口參數:AH=40H
BX=文件句柄
CX=寫入的字節數
DS:DX=存放數據的緩沖區地址
出口參數:CF=0——關閉成功,AX=寫入的字節數,否則,AX=錯誤號(05H或06H),其含義見錯誤代碼表
(5)、功能42H
功能描述:設置文件指針的相對位置(相對與文件頭、文件尾和當前位置)
入口參數:AH=42H
BX=文件句柄
CX=偏移量的高位
DX=偏移量的低位
AL=00H——從文件頭開始的絕對偏移量
=01H——從當前文件指針開始的偏移量(可帶符號)
=02H——從文件尾開始的偏移量(可帶符號)
出口參數:CF=0——設置成功,DX是指針的高位,AX是其低位,否則,AX=錯誤號(01H和06H),其含義見錯誤代碼表。
(6)、功能5CH
功能描述:文件區域加鎖或解鎖
入口參數:AH=5CH
AL=00H——區域加鎖 01H&mdash
;—區域解鎖
BX=文件句柄
CX:DX=區域偏移量
SI:DI=區域長度
DS:DX=路徑名的地址
出口參數:CF=0——操作成功,否則,AX=錯誤號(01H、06H、21H或24H),其含義見錯誤代碼表
(7)、功能68H
功能描述:提交文件緩沖區數據
入口參數:AH=68H
BX=文件句柄
出口參數:CF=0——操作成功,否則,AX=錯誤號,其含義見錯誤代碼表
7、記錄操作功能(FCB)(Record Function)
14H —順序讀24H —設置相對記錄數
15H —順序寫27H —隨機讀塊
21H —隨機讀28H —隨機寫塊
22H —隨機寫
(1)、功能14H
功能描述:從文件中讀出下一個順序塊,并相應增加文件的指針
入口參數:AH=14H
DS:DX=先前打開文件控制塊的地址
出口參數:AL=00H——讀取成功 01H——文件尾
02H——段纏繞 03H——部分記錄在文件尾
(2)、功能15H
功能描述:向文件寫入下一個順序數據塊,并相應增加文件的指針
入口參數:AH=15H
DS:DX=先前打開文件控制塊的地址
出口參數:AL=00H——寫入成功 01H——磁盤滿 02H——段纏繞
(3)、功能21H
功能描述:從文件中讀出當前選定的記錄
入口參數:AH=21H
DS:DX=先前打開文件控制塊的地址
出口參數:AL=00H——讀取成功 01H——文件尾
02H——取消讀操作 03H——部分記錄在文件尾
(4)、功能22H
功能描述:把內存中的數據寫入在文件中當前選定的記錄
入口參數:AH=22H
DS:DX=先前打開文件控制塊的地址
出口參數:AL=00H—寫入成功 01H—磁盤滿 02H—取消寫操作
(5)、功能24H
功能描述:設置FCB中相對記錄數作為被打開FCB中的記錄數
入口參數:AH=24H
DS:DX=先前打開文件控制塊的地址
出口參數:AL的值被破壞,其它寄存器不受影響,FCB中偏移量21H單元被修改
(6)、功能27H
功能描述:從文件中讀出若干個記錄到內存中
入口參數:AH=27H
DS:DX=先前打開文件控制塊的地址
出口參數:AL=00H——讀取成功 01H——文件尾
02H——取消讀操作 03H——部分記錄在文件尾
CX=實際讀出的記錄數
(7)、功能28H
功能描述:從內存向文件中寫入若干個記錄
入口參數:AH=28H
CX=要寫入的記錄數
DS:DX=先前打開文件控制塊的地址
出口參數:AL=00H——寫入成功 01H——磁盤滿 02H——段纏繞
CX=實際寫入的記錄數
8、內存分配功能(Memory-Allocation Function)
48H —分配內存塊
49H —釋放內存塊
4AH —重定義內存塊的大小
58H —讀取/設置內存分配策略
(1)、功能48H
功能描述:分配一塊內存單元,并返回該塊內存單元的首地址
入口參數:AH=48H
BX=需要申請的內存單元字節數
出口參數:CF=0——分配成功,AX=存儲單元的首地址,否則,AX=錯誤號(07H或08H),其含義見錯誤代碼表,BX=還可用的最大塊數
(2)、功能49H
功能描述:釋放內存單元塊以便為其它程序使用
入口參數:AH=49H
ES=被申請塊的段地址
出口參數:CF=0——釋放成功,否則,AX=錯誤號(07H或09H),其含義見錯誤代碼表
(3)、功能4AH
功能描述:根據程序的需要,動態地改變一個內存塊
入口參數:AH=4AH
BX=需要一個新存儲塊的大小
ES=被修改塊的段地址
出口參數:CF=0——修改成功,否則,AX=錯誤號(07H、08H或09H),其含義見錯誤代碼表,BX=可用最大塊的大小
(4)、功能58H
功能描述:讀取/設置內存分配策略
入口參數:AH=58H 讀取內存分配策略AL=00H
設置內存分配策略AL=01H
BX=內存分配策略代碼:
00H—第一滿足
01H—最好滿足
02H—最后滿足
出口參數:CF=0——操作成功,AX=已選用的內存分配策略代碼(含義如上說明),否則,AX=錯誤號(01H),其含義見錯誤代碼表
9、系統功能(System Function)
25H —設置中斷向量
30H —讀取MS-DOS版本號
33H —讀取/設置Break標志
34H —讀取InDOS標志的地址
35H —讀取中斷向量
38H —讀取/設置國家信息
44H —IOCTL(I/O控制)
50H —設置程序段前綴(PSP)地址
51H —讀取程序段前綴(PSP)地址
59H —讀取擴展的錯誤信息
5EH —讀取機器名,讀取/設置打印機配置
5FH —設備重定向
63H —讀取前導字節表
65H —讀取擴展的國家信息
66H —讀取/設置代碼頁
5D0AH —設置擴展的錯誤信息
(1)、功能25H
功能描述:設置中斷向量表
入口參數:AH=中斷號
DS:DX=中斷處理程序的入口地址
出口參數:無
(2)、功能30H
功能描述:取MS-DOS操作系統的版本號
入口參數:AH=30H
出口參數:AL=0——V 1.0;對其它高版本有:AL=主要版本號
AH=次版本號(MS-DOS 3.1=0AH,...)
BH=OEM的序列號(Original Equipment Manufacturer)
BL:CX=24位用戶序列號
(3)、功能33H
功能描述:獲得或改變操作系統中斷的狀態。在功能調用期間,將影響^C的檢測
入口參數:AH=33H
AL=00H——取狀態
=01H——設置狀態,DL=00/01表示置該狀態OFF/ON
出口參數:取狀態時,DL=00/01——分別表示OFF/ON
說明:
1、若AL中存入其它的功能號,則返回時,AL的值為0FFH;
2、若置AL為5,則啟動驅動器號返回在DL中(1-A,2-B,…)
(4)、功能34H
功能描述:獲得InDos標志的遠地址,它由DOS維護表示DOS時活躍的
入口參數:AH=34H
出口參數:ES:BX=InDos標志的遠地址
若該單元值為1,表示DOS功能在執行,否則,則不是。
(5)、功能35H
功能描述:取指定中斷號的入口地址
入口參數:AH=35H
AL=中斷號
出口參數:ES:BX=中斷處理程序的入口地址
(6)、功能38H
功能描述:讀取或設置國家信息
入口參數:AH=38H 當讀取國家信息時
DS:DX=存放返回信息的地址
AL=0——取當前國家信息
AL=1~0FEH——取國家代碼小于255的國家信息
AL=0FFH——取代碼大于等于255的國家信息,BX=國家代碼
設置國家信息時
DX=0FFFFH
AL=0~0FEH——設置國家代碼小于255的國家信息
AL=0FFH——置代碼大于等于255的國家信息,BX=國家代碼
出口參數:CF=0——調用成功,BX=國家代碼,否則。AX=錯誤代碼(02H),其含義見錯誤代碼表 說明國家信息如下所示:
字節0-1H:日期格式:0—mdy、1—dmy、2—ymd
字節2-6H:貨幣字符
字節7-8H:數值千位分割符
字節9-0AH:數值精度分割符
字節0B-0CH:日期間隔符
字節0D-0EH:時間間隔符
字節0FH:貨幣格式
位0=0——貨幣符號在前,否則,貨幣符號在后
位1=0——貨幣符號和數據之間無空格,否則,二者之間有一個空格
位2=0——貨幣符號和小數點分開,否則,貨幣符號代替小數點
字節10H:貨幣的小數位數
字節11H:時間格式。位0=0—12小時制,否則,24小時制
字節12~15H:Case-Map調用地址
字節16~17H:字符串分割符
字節18~21H:保留
(7)、功能44H
功能描述:輸入/輸出控制,其子功能描述:
00H—取設備信息01H—取設備信息
02H—從字符設備驅動器接受控制數據03H—發送控制數據到字符設備驅動器
04H—從塊設備驅動器接受控制數據 05H—發送控制數據到塊設備驅動器
06H—檢查輸入狀態07H—檢查輸出狀態
08H—檢查塊設備是否為可拆卸設備09H—檢查設備是否為遠程設備
0AH—檢查句柄是否為遠程對象0BH—改變共享訪問入口數
0CH—字符設備的一般I/O控制信息0DH—塊設備的一般I/O控制信息
0EH—讀取邏輯驅動器映射關系0FH—設置邏輯驅動器映射關系
說明:輸入/輸出子功能中的00H、06H和07H僅針對文件句柄,子功能00H~ 08H不支持網絡設備。
(8)、功能50H
功能描述:設置程序段前綴(PSP)地址
入口參數:AH=50H
BX=新的PSP地址
出口參數:無
(9)、功能51H
功能描述:讀取程序段前綴(PSP)地址
入口參數:AH=51H
出口參數:BX=PSP地址
(10)、功能59H
功能描述:讀取擴展的錯誤信息
入口參數:AH=59H
BX=00H
出口參數:AX=擴展的錯誤代碼,其含義見錯誤代碼表
BH=錯誤類型,其定義如下: 01h—資源短缺02h—處于臨時狀態而非錯誤
03h—權限問題04h—系統軟件內部錯誤
05h—硬件失敗06h—系統軟件失敗,但不是活躍進程失敗
07h—應用程序錯08h—文件或數據項未發現
09h—文件或數據項類型或格式錯0Ah—文件或數據項相互加鎖
0Bh—驅動器中壞磁盤,磁盤中壞區域或存儲問題
0Ch—其它錯誤
BL=建議采用的措施,其定義如下:
01h — 重試若干次后,再選"終止"或"忽略"
02h — 重試若干次(二次之間要等待)后,再選"終止"或"忽略"
03h — 從用戶獲取正確的信息
04h — 終止應用程序,并清除其所使用資源
05h — 立即終止程序,但沒有清除其資源
06h — 忽略錯誤
07h — 消除錯誤原因,再重試
CH=錯誤地點,其定義如下:
01h — 不知道
02h — 塊設備(磁盤或磁盤模擬器)
03h — 網絡
04h — 串行設備
05h — 內存
ES:DI=插入磁盤標簽的字符串,若AX=0022h(非法改變磁盤)
(11)、功能5EH
功能描述:讀取機器名,讀取/設置打印機配置 子功能號功能描述
00h讀取機器名
02h設置打印機安裝字符串
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -