📄 int21.txt
字号:
出口参数: CF=0——操作成功,AX=文件句柄,否则,AX=错误号(03H、04H、05H或50H),其含义见错误代码表
(14)、功能67H
功能描述: 设置文件句柄数(最多文件数)
入口参数: AH=67H
BX=句柄的数量
出口参数: CF=0——操作成功,否则,AX=错误号,其含义见错误代码表
(15)、功能6CH
功能描述: 扩展的打开文件功能(打开、创建或替换文件)
入口参数: AH=6CH
AL=00H
DS:SI=路径名的地址
BX=打开方式 位2~0 000—只读 001—只写 010—可读、写
位3 保留(0)
位6~4 000—兼容 001—拒绝读写 010——拒绝写
011—拒绝读 100——不拒绝任何操作
位7 0—子进程继承句柄,1—子进程不继承句柄
位12~8 保留(0)
位13 致命错误处理程序,0—执行INT 24H,否则,返回错误代码给进程
位14 写入方式:0—写入缓冲区,1—直接写入文件
位15 保留(0)
CX=文件属性
位0=1 只读 位4=0 保留
位1=1 隐含 位5=1 归档
位2=1 系统 位6-15=0 保留
位3=1 卷标签
DX=打开标志 位3~0 0—打开失败,1—打开文件,2—替换文件
位7~4 0—打开失败,1—创建文件
位15~8 0—保留
出口参数: CF=1——操作失败,AX=错误号,其含义见错误代码表,否则,
AX=文件句柄
CX=1——文件存在,打开之
=2——文件不存在,创建之
(1)、功能0FH
功能描述: 打开文件,并使之为顺序读/写作好准备
入口参数: AH=0FH
DS:DX=文件控制块的地址
出口参数: AL=00H——打开成功,否则,AL=FFH(如文件找不到)
在MS-DOS操作系统中,文件控制块的字段如下表所示。 字段名 偏移量 字段含义
驱动器字 00H 1 for drive A, 2 for drive B,...
当前块字段 0CH 00H
记录大小字段 0EH 0080H
文件长度字段 10H 文件字节数
日期字段 14H 日期
时间字段 16H 时间
(2)、功能10H
功能描述: 关闭文件
入口参数: AH=10H
DS:DX=文件控制块的地址
出口参数: AL=00H——关闭成功,否则,AL=FFH
(3)、功能11H和12H
功能描述: 查找第一个或下一个相匹配的文件
入口参数: AH=11H——第一个相匹配的文件
=12H——下一个相匹配的文件
DS:DX=文件控制块的地址
出口参数: AL=00H——查找到,否则,AL=FFH
(4)、功能13H
功能描述: 在指定(或缺省)的驱动器中,删除所有相匹配的文件
入口参数: AH=13H
DS:DX=文件控制块的地址
出口参数: AL=00H——删除成功,否则,AL=FFH
(5)、功能16H
功能描述: 在当前目录中创建一个文件,其文件长度为0,并打开该文件,为随后的读/写操作作好必要的准备
入口参数: AH=16H
DS:DX=未打开的文件控制块的地址
出口参数: AL=00H——创建成功,否则,AL=FFH(如:磁盘满)
(6)、功能17H
功能描述: 在指定的驱动器的当前目录中,把所有相匹配的文件换名
入口参数: AH=17H
DS:DX=指定文件控制块的地址
出口参数: AL=00H——换名成功,否则,AL=FFH
(7)、功能23H
功能描述: 在当前目录中查找一个相匹配的文件。如果发现,则用其记录数来更新其文件大小
入口参数: AH=23H
DS:DX=未打开的文件控制块的地址
出口参数: AL=00H——匹配成功,FCB中偏移量为21H的字段被设置为其记录数,否则,AL=0FFH
(8)、功能29H
功能描述: 分析一个字符串(文件名)置入FCB表中的不同字段
入口参数: AH=29H
CX=要写入的记录数
DS:SI=字符串段的地址
ES:DI=FCB的地址
AL=分析的控制标志位 位3=1——
若字符串中有文件后缀,则FCB中的文件后缀将改变
=0—— 若后缀忽略修改,或若分析后无后缀,则FCB中后缀字段被置为“空”
位2=1—— 若字符串中有文件名,则FCB中的文件名将改变
=0—— 若文件名忽略修改,或若分析后无文件名,则FCB中文件名字段被置为“空”
位1=1—— 若字符串中指定了驱动器号,则FCB中的ID字节被修改
=0—— 若ID字节忽略修改,或若分析后没有指定驱动器号,则FCB中驱动器字段被置为0(缺省值)
位0=1——
=0—— 忽略前导分割符
不忽略前导分割符
出口参数: AL=00H—没有通配字符 01H—有通配字符 FFH—驱动器号非法
DS:SI=分析后文件名第一个字符的地址
ES:DI=格式化后的、未打开的FCB地址
(1)、功能1AH
功能描述: 设置磁盘传送数据区地址,为随后FCB相关操作作准备
入口参数: AH=1AH
DS:DX=指定文件控制块的地址
出口参数: 无
(2)、功能2FH
功能描述: 为FCB读/写操作而获取DTA的当前地址
入口参数: AH=2FH
出口参数: ES:BX=DTA的段地址和偏移量
(3)、功能3FH
功能描述: 从先前打开的文件中读出指定数目的字节,并移动文件指针
入口参数: AH=3FH
BX=文件句柄
CX=将要读出的字节数
DS:DX=存放字符的缓冲区地址
出口参数: CF=0——读取成功,AX=读取的字符数,否则,AX=错误号(05H或06H),其含义见错误代码表
(4)、功能40H
功能描述: 向先前打开的文件写入指定数量的字节,并相应修改文件指针
入口参数: AH=40H
BX=文件句柄
CX=写入的字节数
DS:DX=存放数据的缓冲区地址
出口参数: CF=0——关闭成功,AX=写入的字节数,否则,AX=错误号(05H或06H),其含义见错误代码表
(5)、功能42H
功能描述: 设置文件指针的相对位置(相对与文件头、文件尾和当前位置)
入口参数: AH=42H
BX=文件句柄
CX=偏移量的高位
DX=偏移量的低位
AL=00H——从文件头开始的绝对偏移量
=01H——从当前文件指针开始的偏移量(可带符号)
=02H——从文件尾开始的偏移量(可带符号)
出口参数: CF=0——设置成功,DX是指针的高位,AX是其低位,否则,AX=错误号(01H和06H),其含义见错误代码表。
(6)、功能5CH
功能描述: 文件区域加锁或解锁
入口参数: AH=5CH
AL=00H——区域加锁 01H——区域解锁
BX=文件句柄
CX:DX=区域偏移量
SI:DI=区域长度
DS:DX=路径名的地址
出口参数: CF=0——操作成功,否则,AX=错误号(01H、06H、21H或24H),其含义见错误代码表
(7)、功能68H
功能描述: 提交文件缓冲区数据
入口参数: AH=68H
BX=文件句柄
出口参数: CF=0——操作成功,否则,AX=错误号,其含义见错误代码表
(1)、功能14H
功能描述: 从文件中读出下一个顺序块,并相应增加文件的指针
入口参数: AH=14H
DS:DX=先前打开文件控制块的地址
出口参数: AL=00H——读取成功 01H——文件尾
02H——段缠绕 03H——部分记录在文件尾
(2)、功能15H
功能描述: 向文件写入下一个顺序数据块,并相应增加文件的指针
入口参数: AH=15H
DS:DX=先前打开文件控制块的地址
出口参数: AL=00H——写入成功 01H——磁盘满 02H——段缠绕
(3)、功能21H
功能描述: 从文件中读出当前选定的记录
入口参数: AH=21H
DS:DX=先前打开文件控制块的地址
出口参数: AL=00H——读取成功 01H——文件尾
02H——取消读操作 03H——部分记录在文件尾
(4)、功能22H
功能描述: 把内存中的数据写入在文件中当前选定的记录
入口参数: AH=22H
DS:DX=先前打开文件控制块的地址
出口参数: AL=00H—写入成功 01H—磁盘满 02H—取消写操作
(5)、功能24H
功能描述: 设置FCB中相对记录数作为被打开FCB中的记录数
入口参数: AH=24H
DS:DX=先前打开文件控制块的地址
出口参数: AL的值被破坏,其它寄存器不受影响,FCB中偏移量21H单元被修改
(6)、功能27H
功能描述: 从文件中读出若干个记录到内存中
入口参数: AH=27H
DS:DX=先前打开文件控制块的地址
出口参数: AL=00H——读取成功 01H——文件尾
02H——取消读操作 03H——部分记录在文件尾
CX=实际读出的记录数
(7)、功能28H
功能描述: 从内存向文件中写入若干个记录
入口参数: AH=28H
CX=要写入的记录数
DS:DX=先前打开文件控制块的地址
出口参数: AL=00H——写入成功 01H——磁盘满 02H——段缠绕
CX=实际写入的记录数
(1)、功能48H
功能描述: 分配一块内存单元,并返回该块内存单元的首地址
入口参数: AH=48H
BX=需要申请的内存单元字节数
出口参数: CF=0——分配成功,AX=存储单元的首地址,否则,AX=错误号(07H或08H),其含义见错误代码表,BX=还可用的最大块数
(2)、功能49H
功能描述: 释放内存单元块以便为其它程序使用
入口参数: AH=49H
ES=被申请块的段地址
出口参数: CF=0——释放成功,否则,AX=错误号(07H或09H),其含义见错误代码表
(3)、功能4AH
功能描述: 根据程序的需要,动态地改变一个内存块
入口参数: AH=4AH
BX=需要一个新存储块的大小
ES=被修改块的段地址
出口参数: CF=0——修改成功,否则,AX=错误号(07H、08H或09H),其含义见错误代码表,BX=可用最大块的大小
(4)、功能58H
功能描述: 读取/设置内存分配策略
入口参数: AH=58H 读取内存分配策略 AL=00H
设置内存分配策略 AL=01H
BX=内存分配策略代码:
00H—第一满足
01H—最好满足
02H—最后满足
出口参数: CF=0——操作成功,AX=已选用的内存分配策略代码(含义如上说明),否则,AX=错误号(01H),其含义见错误代码表
(1)、功能25H
功能描述: 设置中断向量表
入口参数: AH=中断号
DS:DX=中断处理程序的入口地址
出口参数: 无
(2)、功能30H
功能描述: 取MS-DOS操作系统的版本号
入口参数: AH=30H
出口参数: AL=0——V 1.0;对其它高版本有:AL=主要版本号
AH=次版本号(MS-DOS 3.1=0AH,...)
BH=OEM的序列号(Original Equipment Manufacturer)
BL:CX=24位用户序列号
(3)、功能33H
功能描述: 获得或改变操作系统中断的状态。在功能调用期间,将影响^C的检测
入口参数: AH=33H
AL=00H——取状态
=01H——设置状态,DL=00/01表示置该状态OFF/ON
出口参数: 取状态时,DL=00/01——分别表示OFF/ON
说明:
1、若AL中存入其它的功能号,则返回时,AL的值为0FFH;
2、若置AL为5,则启动驱动器号返回在DL中(1-A,2-B,…)
(4)、功能34H
功能描述: 获得InDos标志的远地址,它由DOS维护表示DOS时活跃的
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -