DOS功能调用一览表 3.docx

上传人:b****6 文档编号:7209616 上传时间:2023-01-21 格式:DOCX 页数:17 大小:20.20KB
下载 相关 举报
DOS功能调用一览表 3.docx_第1页
第1页 / 共17页
DOS功能调用一览表 3.docx_第2页
第2页 / 共17页
DOS功能调用一览表 3.docx_第3页
第3页 / 共17页
DOS功能调用一览表 3.docx_第4页
第4页 / 共17页
DOS功能调用一览表 3.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

DOS功能调用一览表 3.docx

《DOS功能调用一览表 3.docx》由会员分享,可在线阅读,更多相关《DOS功能调用一览表 3.docx(17页珍藏版)》请在冰豆网上搜索。

DOS功能调用一览表 3.docx

DOS功能调用一览表3

40H

写文件

入口

AH=40HBX=文件句柄

CX=写的字节数

DX=文件数据缓冲区地址

出口

若CF=1,DK=出错代码

若CF=O,DK=实际写的字节数

41H

删除文件

入口

AH=41H

DS:

DX=ASCIl-Z串的文件名地址

出口

若CF=l则AX=出错代码

42H

移动文件指针

入口

AH=42HAL=移动方式

BX=文件句柄

CX:

DX=指针移动的字节数

出口

若CF=1,AX=出错代码

若CF=l,AX=实际移动字节数

注释

若AL=00H移动方式使得指针从文件开始位置移动,AL=0lH从当前位置移动,AL=02H从文件尾移动。

字节数的低有效16位放在DX中,高有效16位放在CX或AX中。

43H

读/写文件属性

入口

AH=4

AL=OOH读属性AL=OlH写属性

CX=属性字(可参看3CH功能的介绍)

DS:

DX=ASCII-Z串文件名地址

出口

若CF=1AX=出错代码

若CF=0AX=属性字

44H

I/0设备控制(IOTCL)

入口

AH=44H

AL=子功能码(参看注释)

出口

若CF=l,AX=出错代码(可参看59H功能)

注释

AL中的子功能码如下

00H=读设备状态(状态在图14-2中说明)

入口:

BX=文件句柄

出口:

DX=状态

O1H=写设备状态

入口:

BX=文件句柄,DH=O,DL=设备信息

出口:

若CF=l,AX=出错代码

O2H=从字符设备读控制信息

入口:

BX=文件句柄,CX=字节数,DS:

DX=I/O缓冲区地址

出口:

实际读的字节数

03H=向字符设备写控制数据

入口:

BX=文件句柄CX=字节数,DS:

DX=I/0缓冲区地址

出口:

实际写的字节数

04H=从块设备读取控制信息

入口:

BL=驱动器号(0=缺省,l=A驱,2=B驱等等),CX=字节数,

DS:

DX=I/0缓冲区地址

出口:

AX=实际读的字节数

O5H=向块设备写控制信息

入口:

BL=驱动器号,CX=字节数,DS:

DX=I/O缓冲区地址

出口:

AX=实际写的字节数

06H=检查输入状态

入口:

BX=文件句柄

出口:

AL=OOH表示准备好,AL=FFH表示末准备好

07H=检查输出状态

入口:

BX=文件句柄

出口:

AL=OOH表示准备好,AL=FFH表示未准备好

08H=是可移动的介质吗?

入口:

BL=驱动器号

出口:

AL=OOH可移动,AL=O1H固定

O9H=是网络块设备吗?

入口:

BL=驱动器号

出口:

DX的第12位为1表示网络块设备

OAH=本地还是网络字符设备

入口:

BX=文件句柄

出口:

DX寄存器的第15位为1表示网络字符设备

OBH=改变入口的计数(SHARE·EXE必须已装入)

入口:

CX=延迟循环计数,DX=重试计数

出口:

若CF=l,AX=出错代码

OCH=通用字符设备I/0控制

入口:

BX=文件句柄,CH=种类,CL=功能

种类:

OOH=未知,OlH=COM口,O2H=CON,O5H=LPT口功能:

CL=45H:

设置重复计数

CL=4AH:

选择代码页

CL=4CH:

起动代码页准备

CL=4DH:

结束代码页准备

CL=5FH:

设置显示信息

CL=65H:

得到重复次数

CL=6AH查询被选代码页

CL=6BH:

查询准备清单

CL=7FH:

得到显示信息

ODH=块设备的通用I/0控制

入口:

BL=驱动器号,CH=种类,CL=功能,DS:

DX=参数块地址

种类:

08H=磁盘驱动器

功能:

CL=40H:

设置设备参数

CL=4lH写磁道

CL=42H:

格式化并且校验磁道

CL=46H设置介质ID码

CL=47H:

设置访问标志

CL=60H:

得到设备参数

CL=61H:

读磁道

CL=62H:

校验磁道

CL=66H:

得到介质识别符码

CL=67H:

得到访问代码

OEH=返回逻辑设备映像

入口:

BL=驱动器号

出口:

AL=最后驱动器的号数

OFH=改变逻辑设备映像

入口:

BL=驱动器号

出□:

AL=最后驱动号

45H

复制文件句柄

入口

AH=45H

BX=当前文件句柄

出口

若CF=l,AX=出错代码

否则,AX=复制文件句柄

46H

强制复制文件句柄

入口

AH=46H

BX=当前文件句柄

CX=新文件句柄

出口

若CF=l,AX=出错代码

注释

此功能很象功能45H,只是45H功能允许DOS去选择新的文件句柄,而本功能让用户去选择新的文件句柄

47H

读当前目录

入口

AH=7H

AL=驱动器号

DS:

S1=64字节长的目录名缓冲区地址

出口

若CF=O,DS:

SI=当前目录名的地址

注释

A驱动器号为00,B驱动器号为0l,依此类推。

48H

分配内存块

入口

AH=48H

BX=申请的内存段的节数(一节=16字节)

CX=新文件何柄

出口

若CF=O,则BX=最大可用的内存空间

49H

释放已分配的内存块

入口

AH=49H

ES=待释放内存块的段地址

CX=新文件句柄

出口

若CF=l,则说明有错

4AH

修改已分配的内存块

入口

AH=4AHBX=新请求块的大小

ES=要修改块的段地址

出口

若CF=0,则BX=最大可用的内存字节数

4BH

装载或运行一个程序

入口

AH=4BHAL=功能号

ES:

BX=参数块地址

DS:

DX=ASCII-Z串命令地址

出口

若CF=l,指示错误

注释

功能块的含义:

AL=00H装入并执行程序;AL=0lH装入程序,但不执行;AL=03H装入程序覆盖;AL=05H进入EXEC状态。

图A-6显示了此功能所用的参数块的情况

4CH

终结程序

入口

AH=4CHAL=错误代码

出口

返回到DOS

注释

本功能带错误代码返回到DOS,此错误码可通过DOSERRORLEVEL批处理系统得到通常使用错误码00H返回DOS。

4DH

读取返回码

入口

AH=4DHAX二返回的错误码

出口

若CF=1表示文件未找到

注释

此功能被用来获取由DOS4BH功能执行的程序的返回状态码。

返回码为AX=0000H表示正常无错误的结束;AX=0001H表示由control-Break结束;AX=0002H表示关键设备错误;AX=0003H表示用中断INT3lH结束。

4EH

寻找第一个匹配文件

入口

AH=4EHCX=文件属性

DSDX=ASCII-Z串表示的文件名地址

出口

若CF=l表示文件末找到

注释

此功能在当前或指定目录下寻找第一个匹配的文件。

返回时,DTA包含有此文件信息。

磁盘传输区(DTA)见图A-7。

4FH

寻找下一个匹配文件

入口

AH=4FH

出口

若CF=l表示未找到文件

注释

用4EH功能找到第一个文件后,用此功能寻找后续的文件。

50H

设置程序段前缀(PSP)地址

入口

AH=5OHBX=新PSP偏移地址

注释

使用此功能要小心,因为没有出错恢复的可能性。

51H

获得PSP地址

入口

AH=5lH

出口

BX=当前PSP段地址

54H

读磁盘校验状态

入口

AH=54H

出口

AL=OOH表示校验关闭

AL=0lH表示校验开启

56H

更改文件名

入口

AH=56H

ES:

DI=ASCII-Z串表示的新文件名地址

DS:

DX=ASCII-Z串表的待改文件名地址

出口

若CF=l说明出错

57H

读取文件的日期和时间

入口

AH=57HAL=功能号

BX=文件句柄CX=新时间

DX=新日期

出口

若CF=l表示出错

若CF=表示成功CX=时间DX=日期

注释

AL=00H表示读口期和时间,AL=0lH表写入新的日期和时间。

59H

得到扩展的错误信息

入口

AH=59H

对于DOS3.x版本,BX=0000H

出口

AX=扩展的错误码

BH=错误类别

BL=推荐处理方法

CH=出错设备代码

注释

Ax中返回的错误代码

0001H=无效的功能代号

0002H=文件末找到

0003H=路径末找到

0004H=没有可利用的文件句柄

0005H=禁止访问

0006H=文件句柄无效

0007H=内存管理块(MCB)出错

0008H=内存不够

0009H=内存块地址无效

0OOAH=环境错误

0OOBH=格式无效

0OOCH=访问代码无效

0OODH=数据无效

0OOEH=未知单元

0OOFH=磁盘驱动器无效

0010H=企图抹除当前目录

0011H=非相同设备

0012H=没有更多的文件

0013H=磁盘写保护

0014H=未知单元

0015H=驱动器末准备好

0016H=未知的命令

0017H=数据错(CRC校验错)

0018H=所要求的结构长度非法

0019H=寻找错误

0OlAH=未知的介质类型

0OlBH=未发现扇区

0OlCH=打印机缺低

0OlDH=写错误

0OlEH=读错误

0OlFH=通常错误

0020H=共享妨碍

0021H=加锁妨碍

0022H=无效的磁盘改变

0023H=FCB不可利用

0024H=共享缓冲区溢出

0025H=代码页不匹配

0026H=文件结束句柄操作不相容

0027H=磁盘满

0028H=0031H保留

0032H=不支持络请求

0033H=远程机器末列出

0034H=网络上的名字重复

0035H=网络名未找到

0036H=网络忙

0037H=设备在网上已不存在

0038H=超出NetBIOS命令限制

0039H=网络适配器硬件中的错误

003AH=从网络来的响应不正确

003BH=未预料的网络错误

003CH=远程适配器不相容

003DH=打印机队列满

003EH=没有足够的地方打印文件

003FH=打印文件被删除

0040H=网络名被删除

0041H=网络拒绝存取

0042H=网络设备型号不正确

0043H=网络名没有找到

0044H=网络名超过了极限

0045H=超过了NetBIOS时间限制

0046H=暂时中止

0047H=网络请求末被接收

0048H=打印机或者磁盘重定向暂停

0049H=004FH保留

0050H=文件已经存在

005lH=重复的FCB

0052H=不能创建目录

0053H=INT24H错(严重错误)

0054H=重定向太多

0055H=重复的重定向

0056H=无效的口令

0057H=无效的参数

0058H=网络写失败

0059H=此功能不为网络所支持

0O5AH=所要求的系统部件未安装

0065H=设置未选择

以下为BH中的错误代码类别

1H=没有可用的资源

2H=暂时错误

3H=授权错误

4H=内部软件错误

5H=硬件错误

OH=系统错误

7H=应用软件错误

8H=项目未找到

9H=无效的格式

AH=项目已加锁

BH=介质错误

CH=已存在

DH=未知的错误

下列在BL中起推荐作用

1H=重试

2H=等待再重试

3H=用户重试

4H=放弃处理

5H=立即退出

6H=忽略错误

7H=用户干预下的重试

下列是在CH中的清单

1H=未知的源

2H=块设笛错误

3H=网络区域

4H=串行设置错误

5H=内存错误

5AH

创建唯一名字的文件

入口

AH=5AHCX=属性字

DS:

DX=ASCII-Z串路径名的地址

出口

如果CF=l出错

如果CF=OAX=文件句柄

DS:

DX=扩展的目录名的地址

注释

ASCII-Z串表示的文件目录路径必须以反斜线"\"结尾,退出时此目录名附上唯一的文件名。

5BH

创建一个DOS文件

入口

AH=5BHCX=属性字

DS:

DX=包含文件名的ASCIIZ串地址

出口

如果CF=l表示失败

如果CF=0则AX=文件句柄

注释

只在DOS3.X或以上版本的才能使用。

它与功能3CH等同。

只不过3CH功在文件存在时,会删除此文件,而5BH功能在删除时报告文件存在。

5CH

文件内容加锁/开锁

入口

AH=5CHBX=文件句柄

CX:

DX=加锁/开锁区城的偏移地址

SI:

DI=在相对偏移处开始的加锁或开锁的字节数

出口

如果CF=l表示失败

5DH

设置扩展的错误信息

入口

AH=5DHAL=OAH

DS:

DX=扩展的错误数据结构地址

注释

此功能由DOS3.1版本或更高版本提供,用来装入扩展的错误信息。

5EH

网络/打印机

入口

AH=5EHAL=OOH(得到网络名)

DS:

DX=包含网络名称的ASClI-Z串地址

出口

若CF=l,表示出错

若CF=O,CL=NetBIOS名称号

入口

AH=5EHAL=O2H(定义网络打印机)

BX=重定向列表CX=设置串的长度

DS:

DX=打印机设置的缓冲区的地址

出口

CF=l表示出错

入口

AH=5EH

AL=03H(读网络打印机设置串)

BX=重定向列表

DS:

DX=打印机设置缓冲区地址

出口

若CF=l表示出错

若CF=O,CX=设置串长度

ES:

Dl=打印机打印缓冲区地址

62H

得到PSP地址

入口

AH=62H

出口

BX=当前程序段地址

注释

DOS3·0或以上版本才提供本功能

65H

得到扩展的国别信息

入口

AH=65HAL=功能代码

ES:

DI=接受信息的缓冲区地址

出口

CF=1表示出错

CX=国别信息长度

注释

DOS3.3或更高版本才提供本功能。

66H

得到/设置代码页

入口

AH=66HAL=功能码

BX=代码页号

出口

CF=l表示出错

BX=活动的代码页号

DX=缺省代码页号

注释

功能码:

AL=01H为得到代码页号,AL=02H为设置代码页号。

67H

设置句柄计数

入口

AH=67H

BX=请求的句柄数

出口

若CF=l表示出错误

注释

DOS3.3或更高版本号提供本功能。

68H

提交文件

入口

AH=68HBX=句柄号

出口

若CF=l表示出错;否则日期、时间标记写到日录上

注释

DOS3.3或更高版本号提供本功能。

6CH

扩充的打开文件

入口

AH=6CHAL=OOH

BX=打开模式CX=属性

DX=打开标志

DS:

Sl=ASCII-Z串文件名地址

出口

若CF=l,AX=出错代码

若CF=O,AX=句柄

CX=O0OlH文件存在并已被打开

CX=0002H文件不存在,但已创建

注释

这个功能只用于DOS4.0及以上的版本

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 韩语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1