Board logo

标题: x86中断完全版(8) [打印本页]

作者: 苹果也疯狂    时间: 2015-6-30 21:45     标题: x86中断完全版(8)

(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 - 内存

ESI=插入磁盘标签的字符串,若AX=0022h(非法改变磁盘)


(11)、功能5EH

功能描述: 读取机器名,读取/设置打印机配置 子功能号功能描述
00h 读取机器名
02h 设置打印机安装字符串
03h 读取打印机安装字符串

①、子功能1
入口参数: AH=5EH
AL=00H
DSX=接受字符串缓冲区的地址
出口参数: CF=1 -- 操作失败,AX=错误号(01H),其含义见错误代码表,否则,
CH=00H -- 机器名未定义,否则,机器名已定义
CL=NetBIOS名称号(当CH≠00H时)
DSX=标识符地址(当CH≠00H时)
②、子功能2
入口参数: AH=5EH
AL=02H
BX=重定向列表索引
CX=安装字符串的长度
DS:SI=安装字符串的地址
出口参数: CF=0 -- 操作成功,否则,AX=错误号(01H),其含义见错误代码表
③、子功能3
入口参数: AH=5EH
AL=03H
BX=重定向列表索引
ESI=接受字符串缓冲区的地址
出口参数: CF=0 -- 操作成功,CX=接受字符串的长度,否则,AX=错误号(01H),其含义见错误代码表

(12)、功能5FH

功能描述: 设备重定向 子功能号功能描述
02h 读取重定向列表索引
03h 重定向设备

①、子功能1
入口参数: AH=5FH
AL=02H
BX=重定向列表索引
DS:SI=接受本地设备名的16字节存储区地址
ESI=接受网络名的128字节存储区地址
出口参数: CF=1 -- 操作失败,AX=错误号(01H或12H),其含义见错误代码表,否则,BH位0=0H -- 设备合法,否则,设备非法
BL=设备类型 -- 03H:打印机,04H:驱动器
CX=存储参数值
DX=被破坏
BP=被破坏
DS:SI=存放本地设备名的地址
ESI=存放网络名的地址
②、子功能2
入口参数: AH=5FH
AL=03H
BL=设备类型 -- 03H:打印机,04H:驱动器
CX=调用者保存的参数
DS:SI=本地设备名的16字节存储区地址
ESI=网络名的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=缺省)
ESI=接受信息的缓冲区地址 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
DSX=扩展错误结构的地址,该结构的说明如下: 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_ERR ENDS

出口参数: 无




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0