附录4 DOS功能调用
附录4 DOS功能调用
AH 功能 输入参数 输出参数 00H 程序终止 CS=程序段地址
01H 键盘输入并回显 AL=输入字符 02H 显示输出 DL=显示字符
03H 串行设备输入 AL=输入数据 04H 串行设备输出 DL=输出字数据
05H 打印机输出 DL=输出字符
06H 直接控制台I/O DL=0FFH(输入) AL=输入字符
DL=字符(输出)
07H 键盘输入(无回显) AL=输入字符 08H 键盘输入(无回显) AL=输入字符
检测Ctrl+Break
09H 显示字符串 DS:DX=串地址
‘$’结束字符串
0AH 键盘输入到缓冲区 DS:DX=缓冲区首址
(DS:DX)=缓冲区最大字符数 ( DS:DX+1)=实际输入字符数 0BH 检查键盘输入状态 AL=00 无按键
AL=0FFH 有按键 0CH 清除输入缓冲区并执行指定AL=输入功能号 AL=输入数据
的输入功能 (01H/06H/07H/08H/ 0AH)(功能 号01H/06H/07H/08H)
0DH 初始化磁盘状态
0EH 指定当前缺省的磁盘驱动AL=逻辑驱动器数 DL=驱动器号(0=A,1=B..)
器
0FH 打开文件 DS:DX=FCB首地址 AL=00H 成功
AL=0FFH 文件未找到 10H 关闭文件 DS:DX=FCB首地址 AL=00H 成功
AL=0FFH文件未找到 11H 查找第一匹配目录 DS :DX=FCB首地址 AL=00H 成功
AL=0FFH文件未找到 12H 查找下一匹配目录 DS :DX=FCB首地址 AL=00H 成功
AL=0FFH文件未找到
13H 删除文件 DS:DX=FCB首地址 AL=00H 成功
AL=0FFH文件未找到 14H 顺序读 DS:DX=FCB首地址 AL=00H 成功
AL=01H文件结束,记录中无数据
AL=02H DAT空间不够
AL=03H文件结束,记录不完整 15H 顺序写 DS:DX=FCB首地址 AL=00H 成功
AL=01H盘满
AL=02H DAT空间不够 16H 创建文件 DS:DX=FCB首地址 AL=00H 成功
AL=0FFH 无磁盘空间 17H 文件换名 DS:DX=FCB首地址 AL=00 成功
(DS:DX+1)=旧文件名 AL=0FFH 失败
(DS:DX+17)=新文件名
*18H保留未用
19H 取当前缺省驱动器号 AL=驱动器号(0=A,1=B,3=C...)
1AH 设置磁盘缓冲区 DTA地址DS:DX=DTA 首地址
*1BH取缺省驱动器 磁盘格式信AL=每簇的扇区数
息 CX=每扇区的字节数
DX=数据区总簇数
DS:BX=介质描述字节
*1CH 取指定驱动器磁盘格式信息DL=驱动器号 (0=缺省, 1=A..) AL=每簇的扇区数
CX=每扇区的字节数
DX=数据区总簇数
DS:BX=介质描述字节
*1DH 保留未用
*1EH保留未用
*1FH 取缺省驱动器的DPB DS:BX=DPB首址
*20H 保留未用
21H 随机读 DS:DX= FCB首地址 AL=00H 成功
AL=01H文件结束
AL=02H 缓冲区溢出
AL=03H 缓冲区不满
22H 随机写 DS:DX= FCB首地址 AL=00H 成功
AL=01H盘满
AL=02H 缓冲区溢出
23H 测定文件大小 DS:DX= FCB首地址 AL=00H 成功,文件长度填入FCB
AL=0FFH 未找到
24H设置随机记录号 DS:DX= FCB首地址
25H 设置中断向量 DS:DX= 中断向量
AL=中断号
*26H 建立程序段前缀 DX=新的程序段的段地址
27H随机读若干记录 DS:DX= FCB首地址 AL=00H 成功
CX=记录数 AL=01H 文件结束
AL=02H 缓冲区太小,传输结束
AL=03H 缓冲区不满
CX=读入的记录数 28H 随机写若干记录 DS:DX= FCB首地址 AL=00H 成功
CX=记录数 AL=01H 盘满
AL=02H 缓冲区溢出
29H 分析文件名 AL=分析控制标记 AL=00H 标准文件
DS:SI=要分析字符串 AL=01H 多义文件
ES:DI= FCB首地址 AL=0FFH 非法盘符
2AH 取系统日期 CX=年(1980-2099)
DH:DL=月:日
AL=星期(0=星期日)
2BH 置系统日期 CX:DH :DL=年:月:日 AL=00H 成功
AL=0FFH 失败
2CH 取系统时间 CH=时(0-23)
CL=分
DH=秒
DL=百分之几秒
2DH置系统时间 CH=时(0-23) AL=00H 成功
CL=分 AL=0FFH 失败
DH=秒
DL=百分之几秒
2EH 置磁盘自动读写标志 AL=00H 关闭标志
AL=0IH 打开标志
2FH 取磁盘缓冲区首地址 ES:BX=DTA首地址
30H 取 DOS版本号 AH=发行号
AL=版本号
31H 结束并驻留 AL=返回码
DX=驻留区大小
*32H 取指定驱动器的 DPB DS:BX=DPB首地址
33HCtrl-Break 检测 AL=00H 取状态 DL=00H 关闭检测
AL=01H 置状态(DL) DL=01H 打开检测 *34H 取DOS中断标志 ES:BX=DOS中断标志 35H 取中断向量 AL=中断号 ES:BX=中断向量
36H 取空闲磁盘空间 DL=驱动器号 AX=每簇扇区数,成功
(0=缺省,1=A,2=B,3=C...) AX= 0FFFFH,失败
BX=有效簇数
CX=每扇区字节数
BX=文件区所占簇数
*37H 取/置参数分隔符 AL=0取分隔符 DL=分隔符(功能0)
AL=1置分隔符
取/置设备名许可标记 AL=2 取许可标记 DL=许可标记(功能2)
AL=3 置许可标记
38H 取/置国家信息 DS:DX=缓冲区首址 BX=国家码(国际电话前缀码)
AL=错误码 39H 创建子目录 DS:DX=路径字符串地址 AX=错误码
CF=0 成功
CF=1 失败 3AH 删除子目录 DS:DX=路径字符串地址 AX=错误码
CF=0 成功
CF=1 失败 3BH 设置子目录 DS:DX=路径字符串地址 AX=错误码
CF=0 成功
CF=1 失败 3CH 建立文件 DS:DX=路径字符串地址CF=0 成功,AX=文件代号
CX=文件属性 CF=1 失败,AX=错误码
3DH 打开文件 DS:DX=带路径的文件名 CF=0 成功,AX=文件代号
AL=0读 CF=1 失败,AX=错误码
AL=1写
AL=2读/写
3EH 关闭文件 BX=文件代号 CF=0 成功
CF=1 失败,AX=错误码 3FH 读文件或设备 DS:DX=数据缓冲区地址 CF=0 成功 ,AX=实际读入的字节数
BX=文件代号 AX=0 已到文件尾
CX=字节数 CF=1 失败,AX=错误码 40H 写文件或设备 DS:DX=数据缓冲区首址 CF=0 成功 ,AX=实际写入的字节数
BX=文件代号 CF=1 失败,AX=错误码
CX=字节数
41H 删除文件 DS:DX=路径字符串地址 CF=0 成功 ,AX=0000H
CF=1 失败,AX=错误码 (2,5) 42H 移动文件指针 BX=文件代号 CF=0成功,DX:AX=新的文件指针
CX:DX=位移量 CF=1 失败,AX=错误码
AL=移动方式(0,1,2)
43H 取/置文件属性 DS:DX=路径字符串地址 CF=0成功, CX=文件属性
AL=0 取文件属性 CF=1 失败,AX=错误码
AL=1 置文件属性
CX=文件属性
44H 设备输入/输出控制BX= 文件代号 DX=设备信息
AL=0 取状态
AL=1 置状态
AL=2 读数据
AL=3 写数据
AL=6 取输入状态
AL=7 取输出状态
45H 复制文件代号 BX=文件代号1 CF=0 成功,AX=新文件代号
CF=1 失败,AX=错误码 46H 强行复制文件代号 BX=文件代号1 CF=0 成功
CX=文件代号2 CF=1 失败,AX=错误码 47H 取当前目录路径名DL= 驱动器号 (DS:SI)=路径字符串地址
DS:SI=路径字符串地址 AX=错误码
48H 分配内存空间 BX=申请内存容量 CF=0 成功,AX=分配内存首地址
CF=1 失败,AX=错误码,BX=最大可用空间 49H 释放内存空间 ES=释放块的段值 CF=1 失败,AX=错误码 4AH 修改分配内存 ES=修改块的段值 CF=1 失败,AX=错误码,BX=最大可用空间
BX=再申请的容量
4BH 装载程序 AL=0 装载并运行 CF=1 失败,AX=错误码
运行程序 AL=1 获得执行信息
AL=3 装载但不运行
DS:DX=带路径的文件名
ES:BX=装载用的参数块
4CH 带返回码的结束 AL=返回码
4DH 取由31H/4CH带回的返 AL=返回码 4EH 查找第一个匹配文件 DS:DX=带路径的文件名 CF=1 失败,AX=错误码
CX=属性
4FH 查找下一个匹配项文件DS:DX= 带路径的文件名 CF=1 失败,AX=错误码 *50H 建立当前的PSP段地址 BX=PSP段地址
*51H 读当前的PSP段地址 BX=PSP段地址
*52H 取DOS系统数据区首址 ES:BX=DOS数据区首址 *53H 为块设备建立DPBDS :SI=BPB,ES:DI=DPB
54H 取校验开关设定值 AL=标志值(0:关,1:开) *55H 由当前PSP建立新PSP DX=PSP段地址
56H 文件换名 DS:DX=带路径的旧文件名 CF=1 失败,AX=错误码
ES:DI=带路径的新文件名
57H 取/置文件时间及日期AL=0/1 取/置 CF=0 成功,CX=时间,DX=日期
BX=文件代号 CF=1 失败,AX=错误码
CX=时间
DX=日期
59H 取扩充错误码 AX=扩充错误码
BH=错误类型
BL=
建议
关于小区增设电动车充电建议给教师的建议PDF智慧城市建议书pdf给教师的36条建议下载税则修订调整建议表下载
的操作
CH=错误场所 5AH 建立临时文件 CX=文件属性 CF=0 成功,AX=新文件代号
DS:DX=路径字符串地址CF=1 失败,AX=错误码 5BH 建立新文件 CX=文件属性 CF=0 成功,AX=新文件代号
DS:DX=路径字符串地址 CF=1 失败,AX=错误码 5AH 控制文件存取 AL=00H 封锁 CF=1 失败,AX=错误码
AL=01H 开启
BX=文件代号
CX:DX=文件位移
SI:DI=文件长度
62H 取程序段前缀地址 BX=PSP地址