系統(tǒng)功能(SystemFunction)

字號:

25H —設(shè)置中斷向量
    30H —讀取MS-DOS版本號
    33H —讀取/設(shè)置Break標(biāo)志
    34H —讀取InDOS標(biāo)志的地址
    35H —讀取中斷向量
    38H —讀取/設(shè)置國家信息
    44H —IOCTL(I/O控制)
    50H —設(shè)置程序段前綴(PSP)地址
    51H —讀取程序段前綴(PSP)地址
    59H —讀取擴(kuò)展的錯誤信息
    5EH —讀取機(jī)器名,讀取/設(shè)置打印機(jī)配置
    5FH —設(shè)備重定向
    63H —讀取前導(dǎo)字節(jié)表
    65H —讀取擴(kuò)展的國家信息
    66H —讀取/設(shè)置代碼頁
    5D0AH —設(shè)置擴(kuò)展的錯誤信息
    (1)、功能25H
    功能描述:設(shè)置中斷向量表
    入口參數(shù):AH=中斷號
    DS:DX=中斷處理程序的入口地址
    出口參數(shù):無
    (2)、功能30H
    功能描述:取MS-DOS操作系統(tǒng)的版本號
    入口參數(shù):AH=30H
    出口參數(shù):AL=0——V 1.0;對其它高版本有:AL=主要版本號
    AH=次版本號(MS-DOS 3.1=0AH,...)
    BH=OEM的序列號(Original Equipment Manufacturer)
    BL:CX=24位用戶序列號
    (3)、功能33H
    功能描述:獲得或改變操作系統(tǒng)中斷的狀態(tài)。在功能調(diào)用期間,將影響^C的檢測
    入口參數(shù):AH=33H
    AL=00H——取狀態(tài)
    =01H——設(shè)置狀態(tài),DL=00/01表示置該狀態(tài)OFF/ON
    出口參數(shù):取狀態(tài)時,DL=00/01——分別表示OFF/ON
    說明:
    1、若AL中存入其它的功能號,則返回時,AL的值為0FFH;
    2、若置AL為5,則啟動驅(qū)動器號返回在DL中(1-A,2-B,…)
    (4)、功能34H
    功能描述:獲得InDos標(biāo)志的遠(yuǎn)地址,它由DOS維護(hù)表示DOS時活躍的
    入口參數(shù):AH=34H
    出口參數(shù):ES:BX=InDos標(biāo)志的遠(yuǎn)地址
    若該單元值為1,表示DOS功能在執(zhí)行,否則,則不是。
    (5)、功能35H
    功能描述:取指定中斷號的入口地址
    入口參數(shù):AH=35H
    AL=中斷號
    出口參數(shù):ES:BX=中斷處理程序的入口地址
    (6)、功能38H
    功能描述:讀取或設(shè)置國家信息
    入口參數(shù):AH=38H 當(dāng)讀取國家信息時
    DS:DX=存放返回信息的地址
    AL=0——取當(dāng)前國家信息
    AL=1~0FEH——取國家代碼小于255的國家信息
    AL=0FFH——取代碼大于等于255的國家信息,BX=國家代碼
    設(shè)置國家信息時
    DX=0FFFFH
    AL=0~0FEH——設(shè)置國家代碼小于255的國家信息
    AL=0FFH——置代碼大于等于255的國家信息,BX=國家代碼
    出口參數(shù):CF=0——調(diào)用成功,BX=國家代碼,否則。AX=錯誤代碼(02H),其含義見錯誤代碼表 說明國家信息如下所示:
    字節(jié)0-1H:日期格式:0—mdy、1—dmy、2—ymd
    字節(jié)2-6H:貨幣字符
    字節(jié)7-8H:數(shù)值千位分割符
    字節(jié)9-0AH:數(shù)值精度分割符
    字節(jié)0B-0CH:日期間隔符
    字節(jié)0D-0EH:時間間隔符
    字節(jié)0FH:貨幣格式
    位0=0——貨幣符號在前,否則,貨幣符號在后
    位1=0——貨幣符號和數(shù)據(jù)之間無空格,否則,二者之間有一個空格
    位2=0——貨幣符號和小數(shù)點分開,否則,貨幣符號代替小數(shù)點
    字節(jié)10H:貨幣的小數(shù)位數(shù)
    字節(jié)11H:時間格式。位0=0—12小時制,否則,24小時制
    字節(jié)12~15H:Case-Map調(diào)用地址
    字節(jié)16~17H:字符串分割符
    字節(jié)18~21H:保留
    (7)、功能44H
    功能描述:輸入/輸出控制,其子功能描述:
    00H—取設(shè)備信息01H—取設(shè)備信息
    02H—從字符設(shè)備驅(qū)動器接受控制數(shù)據(jù)03H—發(fā)送控制數(shù)據(jù)到字符設(shè)備驅(qū)動04H—從塊設(shè)備驅(qū)動器接受控制數(shù)據(jù) 05H—發(fā)送控制數(shù)據(jù)到塊設(shè)備驅(qū)動器
    06H—檢查輸入狀態(tài)07H—檢查輸出狀態(tài)
    08H—檢查塊設(shè)備是否為可拆卸設(shè)備09H—檢查設(shè)備是否為遠(yuǎn)程設(shè)備
    0AH—檢查句柄是否為遠(yuǎn)程對象0BH—改變共享訪問入口數(shù)
    0CH—字符設(shè)備的一般I/O控制信息0DH—塊設(shè)備的一般I/O控制信息
    0EH—讀取邏輯驅(qū)動器映射關(guān)系0FH—設(shè)置邏輯驅(qū)動器映射關(guān)系
    說明:輸入/輸出子功能中的00H、06H和07H僅針對文件句柄,子功能00H~ 08H不支持網(wǎng)絡(luò)設(shè)備。
    (8)、功能50H
    功能描述:設(shè)置程序段前綴(PSP)地址
    入口參數(shù):AH=50H
    BX=新的PSP地址
    出口參數(shù):無
    (9)、功能51H
    功能描述:讀取程序段前綴(PSP)地址
    入口參數(shù):AH=51H
    出口參數(shù):BX=PSP地址
    (10)、功能59H
    功能描述:讀取擴(kuò)展的錯誤信息
    入口參數(shù):AH=59H
    BX=00H
    出口參數(shù):AX=擴(kuò)展的錯誤代碼,其含義見錯誤代碼表
    BH=錯誤類型,其定義如下: 01h—資源短缺02h—處于臨時狀態(tài)而非錯誤
    03h—權(quán)限問題04h—系統(tǒng)軟件內(nèi)部錯誤
    05h—硬件失敗06h—系統(tǒng)軟件失敗,但不是活躍進(jìn)程失敗
    07h—應(yīng)用程序錯08h—文件或數(shù)據(jù)項未發(fā)現(xiàn)
    09h—文件或數(shù)據(jù)項類型或格式錯0Ah—文件或數(shù)據(jù)項相互加鎖
    0Bh—驅(qū)動器中壞磁盤,磁盤中壞區(qū)域或存儲問題
    0Ch—其它錯誤
    BL=建議采用的措施,其定義如下:
    01h — 重試若干次后,再選"終止"或"忽略"
    02h — 重試若干次(二次之間要等待)后,再選"終止"或"忽略"
    03h — 從用戶獲取正確的信息
    04h — 終止應(yīng)用程序,并清除其所使用資源
    05h — 立即終止程序,但沒有清除其資源
    06h — 忽略錯誤
    07h — 消除錯誤原因,再重試
    CH=錯誤地點,其定義如下:
    01h — 不知道
    02h — 塊設(shè)備(磁盤或磁盤模擬器)
    03h — 網(wǎng)絡(luò)
    04h — 串行設(shè)備
    05h — 內(nèi)存
    ES:DI=插入磁盤標(biāo)簽的字符串,若AX=0022h(非法改變磁盤)
    (11)、功能5EH
    功能描述:讀取機(jī)器名,讀取/設(shè)置打印機(jī)配置 子功能號功能描述
    00h讀取機(jī)器名
    02h設(shè)置打印機(jī)安裝字符串
    03h讀取打印機(jī)安裝字符串
    ①、子功能1
    入口參數(shù):AH=5EH
    AL=00H
    DS:DX=接受字符串緩沖區(qū)的地址
    出口參數(shù):CF=1——操作失敗,AX=錯誤號(01H),其含義見錯誤代碼表,否則,
    CH=00H——機(jī)器名未定義,否則,機(jī)器名已定義
    CL=NetBIOS名稱號(當(dāng)CH≠00H時)
    DS:DX=標(biāo)識符地址(當(dāng)CH≠00H時)
    ②、子功能2
    入口參數(shù):AH=5EH
    AL=02H
    BX=重定向列表索引
    CX=安裝字符串的長度
    DS:SI=安裝字符串的地址
    出口參數(shù):CF=0——操作成功,否則,AX=錯誤號(01H),其含義見錯誤代碼表
    ③、子功能3
    入口參數(shù):AH=5EH
    AL=03H
    BX=重定向列表索引
    ES:DI=接受字符串緩沖區(qū)的地址
    出口參數(shù):CF=0——操作成功,CX=接受字符串的長度,否則,AX=錯誤號(01H),其含義見錯誤代碼表
    (12)、功能5FH
    功能描述:設(shè)備重定向 子功能號功能描述
    02h讀取重定向列表索引
    03h重定向設(shè)備
    ①、子功能1
    入口參數(shù):AH=5FH
    AL=02H
    BX=重定向列表索引 入口參數(shù):AH=5FH
    AL=03H
    BL=設(shè)備類型——03H:打印機(jī),04H:驅(qū)動器
    CX=調(diào)用者保存的參數(shù)
    DS:SI=本地設(shè)備名的16字節(jié)存儲區(qū)地址
    ES:DI=網(wǎng)絡(luò)名的128字節(jié)存儲區(qū)地址,緊跟其后是密碼
    出口參數(shù):CF=0——操作成功,否則,AX=錯誤號(01H、03H、05H、08H、0FH或12H),其含義見錯誤代碼表
    (13)、功能63H
    功能描述:讀取前導(dǎo)字節(jié)表
    入口參數(shù):AH=63H AL=子功能
    =00H—讀取系統(tǒng)前導(dǎo)字節(jié)表地址
    =01H—設(shè)置/清除臨時控制臺標(biāo)志(DL=00H/01H—清除/設(shè)置標(biāo)志)
    =02H—讀取臨時控制臺標(biāo)志值
    出口參數(shù):BX=1——操作失敗,AX=錯誤號(01H),其含義見錯誤代碼表,否則,調(diào)用時,
    若AL=00H,則,DS:SI=系統(tǒng)前導(dǎo)字節(jié)表地址;
    若AL=02H,則,DL=臨時控制臺標(biāo)志值
    (14)、功能65H
    功能描述:讀取擴(kuò)展的國家信息
    入口參數(shù):AH=65H
    BX=代碼頁(-1=活躍的CON設(shè)備)
    CX=接受信息的緩沖區(qū)大小
    DX=國家標(biāo)識(-1=缺省)
    ES:DI=接受信息的緩沖區(qū)地址 AL=子功能
    =01H——讀取一般的國家信息
    =02H——讀取指向大寫字母表的指針
    =04H——讀取指向文件名大寫字母表的指針
    =06H——讀取指向校對表的指針
    =07H——讀取指向DBCS向量的指針
    出口參數(shù):CF=0——操作成功,需要的數(shù)據(jù)存入調(diào)用的緩沖區(qū),否則,AX=錯誤號(02H),其含義見錯誤代碼表
    (15)、功能66H
    功能描述:讀取/設(shè)置代碼頁
    入口參數(shù):AH=66H
    AL=子功能號:01H——讀取代碼頁,02H——選擇代碼頁
    BX=選擇的代碼頁(當(dāng)AL=02H)
    出口參數(shù):CF=0——操作成功,當(dāng)調(diào)用子功能01H時,BX=活躍的代碼頁,DX=缺省的代碼頁,否則,AX=錯誤號(02H或65H),其含義見錯誤代碼表
    (16)、功能5D0AH
    功能描述:設(shè)置擴(kuò)展的錯誤信息
    入口參數(shù):AX=5D0AH
    DS:DX=擴(kuò)展錯誤結(jié)構(gòu)的地址,該結(jié)構(gòu)的說明如下: EXTEND_ERR STRUCT
    RAx WORD ? ;AX
    RBx WORD ? ;BX
    RCx WORD ? ; CX
    RDx WORD ? ; DX
    RSi WORD ? ; SI
    RDi WORD ? ; DI
    RDs WORD ? ; DS
    REs WORD ? ; ES
    Pad WORD 3 DUP(0)
    EXTEND_ERRENDS
    出口參數(shù):無