常用DOS功能调用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
12H
查找下一个目录项
DS:DX=FCB首地址
AL=00H文件找到,AL=FFH未找到
13H
删除文件
DS:DX=FCB首地址
AL=00H删除成功,AL=FFH未找到
14H
顺序读
DS:DX=FCB首地址
AL=00H读成功
AL=01H文件结束,记录无数据
AL=02H DTA空间不够
AL=03H文件结束,记录不完整
CX:DX=位移量
AL=移动方式
成功:DX:AX=新指针位置
出错:AX=错误码
43H
读取/设置文件属性
DS:DX=ASCII串,
AL=0/1取/置属性,
CX=文件属性
成功:CX=文件属性
失败:AX=错误码
44H
设备I/O控制
BX=文件号;
AL=0取状态,AL=1置状态,
AL=2读数据,AL=3写数据,
22H
随机写
DS:DX=FCB首地址
AL=00H写成功
AL=01H盘满
AL=02H缓冲区溢出
23H
文件长度
DS:DX=FCB首地址
AL=0成功,长度在FCB。AL=1未找到
24H
设置随机记录号
DS:DX=FCB首地址
25H
设置中断向量
DS:DX=中断向量,AL=中断向量号
26H
建立PSP
DX=新的PSP
27H
随机块读
DS:DX=FCB首地址
CX=记录数
AL=00H读成功
AL=01H文件结束
AL=02H缓冲区溢出
AL=03H缓冲区不满
28H
随机块写
DS:DX=FCB首地址
CX=记录数
AL=00H写成功
AL=01H盘满
AL=02H缓冲区溢出
29H
分析文件名
ES:DI=FCB首地址
DS:SI=ASCII串
19H
取当前磁盘
AL=当前驱动器号
1AH
设置DTA地址
DS:DX=DTA地址
1BH
取缺省驱动器FAT信息
AL=每簇的扇区数,
DS:BX=FAT标识字节
CX=物理扇区的大小,
DX=驱动器和簇数
21H
随机读
DS:DX=FCB首地址
AL=00H读成功
AL=01H文件结束
AL=02H缓冲区溢出
AL=03H缓冲区不满
48H
分配内存空间
BX=申请内存容量
成功:AX=分配内存首址
失败:BX=最大可用空间
49H
释放内存空间
ES=内存起始段地址
失败:AX=错误码
4AH
调整分配的内存空间
ES=原内存起始地址
BX=再申请内存容量
失败:AX=错误码
BX=最大可用空间
4BH
装入/执行程序
DS:DX=ASCII串,
ES:BX=参数区首地址
DL=驱动器号
成功:
AX=每簇扇区数,BX=有效簇数,CX=每扇区字节数,DX=总簇数
失败:
AX=FFFFH
38H
取国家信息
DS:DX=信息区地址
BX=国家代码
39H
建立子目录
DS:DX=ASCII串
AX=错误码
3AH
删除子目录
DS:DX=ASCII串
AX=错误码
3BH
改变目录
DS:DX=ASCII串
15H
顺序写
DS:DX=FCB首地址
AL=00H写成功
AL=01H盘满
AL=02H DTA空间不够
16H
创建文件
DS:DX=FCB首地址
AL=00H创建成功,
AL=FFH无磁盘空间
17H
文件改名
DS:DX=FCB首地址
(DS:DX+1)=旧文件名
(DS:DX+17)=新文件名
AL=00H改名成功,
AL=FFH不成功
AL=6取输入状态,AL=7取输出状态
DX=设备信息
45H
复制文件号
BX=文件号1
成功:AX=文件号2;
出错:AX=错误码
46H
强制文件号
BX=文件号1,CX=文件号2
成功:AX=文件号1;
出错:AX=错误码
47H
取当前路径名
DL=驱动器号,DS:SI=ASCII串地址
DS:SI=ASCII串;
失败:AX=错误码
清除文件缓冲区
0EH
选择磁盘驱动器
DL=驱动器号
AL=驱动器数
0FH
打开文件
DS:DX=FCB首地址
AL=00H文件找到,AL=FFH文件未找到
10H
关闭文件
DS:DX=FCB首地址
AL=00H目录修改成功,AL=FFH未找到
11H
查找第一个目录项
DS:DX=FCB首地址
AL=00H找到,AL=FFH未找到
CX=读取字节数
成功:
AX=实际读出字节数,
AX=0已到文件尾
出错:
AX=错误码
40H
写文件或设备
DS:DX=数据缓冲区地址,
BX=文件号,
CX=写入字节数
成功:AX=实际写入字节数
出错:AX=错误码
41H
删除文件
DX:DX=ASCII串
成功:AX=00;
失败:AX=错误码
42H
移动关闭指针
BX=文件号,
DS:DX=新ASCII串
AX=错误码
57H
设置/读取文件日期和时间
BX=文件号,AL=0读取
AL=1设置(DX:CX)
DX:CX=日期和时间
失败:AX=错误码
AL=输入字符
07H
无回显键盘输入
AL=输入字符
08H
无回显键盘输入
AL=输入字符
09H
显示字符串
DS:DX=字符串地址
0AH
输入字符串
DS:DX=缓冲区地址
0BH
检验键盘状态
AL=00H有输入,AL=FFH无输入
0CH
清输入缓冲区,执行指定输入功能
AL=输入功能号(1、6、7、8、AH)
0DH
磁盘复位
AL=控制分析标志
AL=00H标准文件
AL=01H多义文件
AL=FFH非法盘符
2AH
取日期
CX:DH:DL=年:月:日
2BH
设置日期
CX:DH:DL=年:月:日
2CH
取时间
CH:CL=时:分,DH:DL=秒:百分秒
2DH
设置时间
CH:CL=时:分,DH:DL=秒:百分秒
2EH
设置磁盘写标志
AL=00关闭,AL=01打开
AX=错误码
3CH
建立文件
DS:DX=ASCII串,CX=文件属性
成功:AX=文件号;
失败:AX=错误码
3DH
打开文件
DS:DX=ASCII串,
AL=0/1/2读/写/读写
成功:AX=文件号;
失败:AX=错误码
3EH
关闭文件
BX=文件号
AX=错误码
3FH
读文件或设备
DS:DX=数据缓冲区地址
BX=文件号
常用DOS功能调用(INT 21H)
功能号
功能
入口参数
出口参数
00H
程序终止
CS=程序段前缀的段地址
01H
键盘输入
AL=输入字符
02H
显示输出
DL=输出显示的字符
03H
串行通信输入
AL=接受字符
04H
串行通信输出
DL=发送字符
05H
打印机输出
DL=打印字符
06H
控制台输入输出
DL=FFH(输入),DL=字符(输出)
2FH
取DTA地址
ES:BX=DTA首地址
30H
取DOS版本号
AL=主版本号,AH=辅版本号
31H
程序终止并驻留
AL=返回码,DX=驻留大小
33H
ctrl-break检测
AL=00取状态AL=01置状态
DL=00H关闭,DL=01H打开
35H
获取中断向量
AL=中断向量号
ES:BX=中断向量
36H
取可用磁盘空间
AL=0/3执行/装入不执行
失败:AX=错误码
4Байду номын сангаасH
程序终止
AL=返回码
4DH
取返回码
AL=返回码
4EH
查找第一个目录项
DS:DX=ASCII串地址,CX=属性
AX=错误码
4FH
查找下一个目录项
DS:DX=ASCII串地址
AX=错误码
54H
读取磁盘写标志
AL=当前标志值
56H
文件改名
DS:DX=旧ASCII串,
相关文档
最新文档