中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » [原创]DOS的系统杂项服务INT 15H介绍
作者:
标题: [原创]DOS的系统杂项服务INT 15H介绍 上一主题 | 下一主题
whowin
初级用户





积分 134
发帖 37
注册 2006-9-28
状态 离线
『楼 主』:  [原创]DOS的系统杂项服务INT 15H介绍

文章是从我的网志中贴过来的,其中的图片可能过不来,看完整内容,请访问我的网志:
点击进入《DOS编程技术》

00H —开盒式磁带机马达

01H —关盒式磁带机马达

02H —读盒式磁带机

03H —写盒式磁带机

0FH —格式化ESDI驱动器定期中断

21H —读/写自检(POST)错误记录

4FH —键盘截听91H —设备加电自检

80H —设备打开C0H —读取系统环境

81H —设备关闭C1H —读取扩展BIOS数据区地址

82H —进程终止C2H —鼠标图形

83H —事件等待C3H —设置WatcHdog超时

84H —读[游戏]杆C4H —可编程选项选择

85H —系统请求(SysReq)键

86H —延迟

87H —移动扩展内存块

88H —读取扩展内存大小

89H —进入保护模式

90H —设备等待

91H —设备加电自检

C0H —读取系统环境

C1H —读取扩展BIOS数据区地址

C2H —鼠标图形

C3H —设置WatcHdog超时

C4H —可编程选项选择



(1)、功能00H

功能描述:开盒式磁带机马达

入口参数:AH=00H

出口参数:CF=0——操作成功,否则,AH=状态(86H,若未安装盒式磁带机)

(2)、功能01H

功能描述:关盒式磁带机马达

入口参数:AH=01H

出口参数:CF=0——操作成功,否则,AH=状态(86H,若未安装盒式磁带机)

(3)、功能02H

功能描述:读盒式磁带机

入口参数:

AH=02H

CX=读入的字节数

ES:BX=存放数据的缓冲区地址

出口参数:

CF=0——操作成功,

DX=实际读入的字节数,

ES:BX指向最后一个字节的后面地址,否则,AH=状态码,其值含义如下:

01H —— CRC校验码错

80H —— 非法命令

02H —— 位信号混乱

86H —— 未安装盒式磁带机

04H —— 无发现数据

(4)、功能03H

功能描述:写盒式磁带机

入口参数:

AH=03H

CX=要写入的字节数

ES:BX=已存数据的缓冲区地址

出口参数:

CF=0——操作成功,CX=00H,ES:BX指向最后一个字节的后面地址,

否则,AH=状态码,其值含义如下:

80H —— 非法命令

86H —— 未安装盒式磁带机

(5)、功能0FH

功能描述:格式化ESDI驱动器定期中断,仅在PS/2中有效,在此从略

(6)、功能21H

功能描述:读/写自检(POST)错误记录,仅在PS/2中有效,在此从略

(7)、功能4FH

功能描述:键盘截听,仅在PS/2中有效,在此从略

(8)、功能80H

功能描述:打开设备

入口参数:

AH=80H

BX=设备号

CX=进程号

出口参数:CF=0——操作成功,AH=00H,否则,AH=状态码

(9)、功能81H

功能描述:关闭设备

入口参数:

AH=81H

BX=设备号

CX=进程号

出口参数:CF=0——操作成功,AH=00H,否则,AH=状态码

(10)、功能82H

功能描述:进程终止

入口参数:

AH=81H

BX=进程号

出口参数:CF=0——操作成功,AH=00H,否则,AH=状态码

(11)、功能83H

功能描述:事件等待

入口参数:

AH=83H 若需要事件等待,则:

AL=00H

CX:DX=千分秒

ES:BX=信号量字节的地址

否则,调用参数为AL=01H

出口参数:若调用时,AL=00H,操作成功——CF=0,否则,CF=1

(12)、功能84H

功能描述:读[游戏]杆

入口参数:

AH=84H

DX=00H——读取开关设置

 =01H——读取阻力输入

出口参数:CF=1H——操作失败,否则,

 DX=00H时,AL=开关设置(位7~4)

 DX=01H时,AX、BX、CX和DX分别为A(x)、A(y)、B(x)和B(y)的值

(13)、功能85H

功能描述:系统请求(SysReq)键

入口参数:

AH=85H

AL=00H——键按下

 =01H——键放开

出口参数:CF=0——操作成功,AH=00H,否则,AH=状态码

(14)、功能86H

功能描述:延迟

入口参数:

AH=86H

CX:DX=千分秒

出口参数:CF=0——操作成功,AH=00H

(15)、功能87H

功能描述:从常规内存和扩展内存之间移动扩展内存块

入口参数:

AH=87H

CX=移动的字数

ES:SI=GDT(Global Descriptor Table)的地址,其结构定义如下:

偏移量存储的信息

00h-0Fh保留,但现全为0

10h-11h段的长度(2CX-1或更大)

12h-14h24位源地址

15h访问权限字节(其值为93h)

16h-17h保留,但现全为0

18h-19h段的长度(2CX-1或更大)

1Ah-1Ch 24位目标源地址

1Dh访问权限字节(其值为93h)

1Eh-2Fh保留,但现全为0

出口参数:CF=0——操作成功,AH=00H,否则,AH=状态码,其含义如下:

  01H —— RAM奇偶错

      02H —— 异常中断错

  03H —— 20号线门地址失败

(16)、功能88H

功能描述:读取扩展内存大小

入口参数:AH=88H

出口参数:AX=扩展内存字节数(以K为单位)

(17)、功能89H

功能描述:进入保护模式,CPU从实模式进入保护模式

入口参数:

AH=89H

BH=IRQ0的中断号

BL=IRQ8的中断号

ES:SI=GDT的地址(参见功能号87H)

出口参数:

CF=1——操作失败,AH=0FFH,

否则,AH=00H,CS、DS、ES和SS都是用户定义的选择器

(18)、功能90H

功能描述:设备等待

入口参数:

AH=90H

AL=驱动器类型,具体的驱动器类型定义如下:

=00H~7FH——串行再重用设备

=80H~0BFH——可重入式设备

=0C0H~0FFH——等待访问设备,没有自检功能

00h — 磁盘

02h — 键盘

80h — 网络

FDh — 软盘马达启动01h — 软盘

03h — 点设备(Pointing Device)

FCh — 硬盘复位

FEh — 打印机

ES:BX=对驱动器类型80H~0FFH的请求块地址

出口参数:CF=1——操作失败,否则,AH=00H

(19)、功能91H

功能描述:设备加电自检

入口参数:

AH=91H

AL=00H~7FH——串行再重用设备

 =80H~0BFH——可重入式设备

出口参数:AH=00H

(20)、功能0C0H

功能描述:读取系统环境

入口参数:AH=0C0H

出口参数:成功CF=0并且AH=0,ES:BX=配置表地址,配置表的定义如下:

偏移量含义说明

00h-01h表的大小(字节数)

02h系统模型

03h系统子模型

04hBIOS版本号

05h配置标志,其各位为1时的说明如下:

  位7—DMA通道3使用

  位6—存在从属8259

  位5—实时时钟有效

  位4—键盘截听有效

  位3—等待外部事件有效

  位2—扩展BIOS数据区

  位1—微通道设施

  位0—保留

06h-09h保留

(21)、功能C1H

功能描述:读取扩展BIOS数据区地址,仅在PS/2中有效,在此从略

(22)、功能C2H

功能描述:鼠标图形,仅在PS/2中有效,在此从略

(23)、功能C3H

功能描述:设置WatcHdog超时,仅在PS/2中有效,在此从略

(24)、功能C4H

功能描述:可编程选项选择,仅在PS/2中有效,在此从略



更多关于DOS编程的文章看我的网志

点击进入《DOS编程技术》

[ Last edited by whowin on 2008-5-9 at 11:47 AM ]

2008-5-9 11:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: