灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2080回复:0

系统功能(System Function)

楼主#
更多 发布于:2012-09-10 18:55

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设置打印机安装字符串

03h读取打印机安装字符串

①、子功能1

入口参数:AH=5EH

AL=00H

DS:DX=接受字符串缓冲区的地址

出口参数:CF=1――操作失败,AX=错误号(01H),其含义见错误代码表,否则,

CH=00H――机器名未定义,否则,机器名已定义

CL=NetBios名称号(当CH≠00H时)

DS:DX=标识符地址(当CH≠00H时)

②、子功能2

入口参数:AH=5EH

AL=02H

BX=重定向列表索引

CX=安装字符串的长度

DS:SI=安装字符串的地址

出口参数:CF=0――操作成功,否则,AX=错误号(01H),其含义见错误代码表

③、子功能3

入口参数:AH=5EH

AL=03H

BX=重定向列表索引

ES:DI=接受字符串缓冲区的地址

出口参数:CF=0――操作成功,CX=接受字符串的长度,否则,AX=错误号(01H),其含义见错误代码表

(12)、功能5FH

功能描述:设备重定向 子功能号功能描述

02h读取重定向列表索引

03h重定向设备

①、子功能1

入口参数:AH=5FH

AL=02H

BX=重定向列表索引

DS:SI=接受本地设备名的16字节存储区地址

ES:DI=接受网络名的128字节存储区地址

出口参数:CF=1――操作失败,AX=错误号(01H或12H),其含义见错误代码表,否则,BH位0=0H――设备合法,否则,设备非法

BL=设备类型――03H:打印机,04H:驱动器

CX=存储参数值

DX=被破坏

BP=被破坏

DS:SI=存放本地设备名的地址

ES:DI=存放网络名的地址

②、子功能2

入口参数:AH=5FH

AL=03H

BL=设备类型――03H:打印机,04H:驱动器

CX=调用者保存的参数

DS:SI=本地设备名的16字节存储区地址

ES:DI=网络名的128字节存储区地址,紧跟其后是密码

出口参数:CF=0――操作成功,否则,AX=错误号(01H、03H、05H、08H、0FH或12H),其含义见错误代码表

(13)、功能63H

功能描述:读取前导字节表

入口参数:AH=63H AL=子功能

=00H―读取系统前导字节表地址

=01H―设置/清除临时控制台标志(DL=00H/01H―清除/设置标志)

=02H―读取临时控制台标志值

出口参数:BX=1――操作失败,AX=错误号(01H),其含义见错误代码表,否则,调用时,

   若AL=00H,则,DS:SI=系统前导字节表地址;

   若AL=02H,则,DL=临时控制台标志值

(14)、功能65H

功能描述:读取扩展的国家信息

入口参数:AH=65H

BX=代码页(-1=活跃的CON设备)

CX=接受信息的缓冲区大小

DX=国家标识(-1=缺省)

ES:DI=接受信息的缓冲区地址 AL=子功能

=01H――读取一般的国家信息

=02H――读取指向大写字母表的指针

=04H――读取指向文件名大写字母表的指针

=06H――读取指向校对表的指针

=07H――读取指向DBCS向量的指针

出口参数:CF=0――操作成功,需要的数据存入调用的缓冲区,否则,AX=错误号(02H),其含义见错误代码表

(15)、功能66H

功能描述:读取/设置代码页

入口参数:AH=66H

AL=子功能号:01H――读取代码页,02H――选择代码页

BX=选择的代码页(当AL=02H)

出口参数:CF=0――操作成功,当调用子功能01H时,BX=活跃的代码页,DX=缺省的代码页,否则,AX=错误号(02H或65H),其含义见错误代码表

(16)、功能5D0AH

功能描述:设置扩展的错误信息

入口参数:AX=5D0AH

DS:DX=扩展错误结构的地址,该结构的说明如下: 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

出口参数:无

喜欢0 评分0
游客

返回顶部