中断向量表/DOS/BIOS系统功能调用

 

中断向量表/DOS/BIOS系统功能调用
2007-09-05 21:21

DOS系统功能调用与BIOS中断调用是什么关系?

是不是通过BIOS功能调用DOS功能?
--------------------------------------------------------
dos功能调用大部是通过很多的bios功能调用来实现的.
DOS功能调用是对bios功能调用的封装。
BIOS中断通常是硬件检测和引导系统,至于完了以后那就是dos中断的事情了。
更准确的说,BIOS中断大多与硬件有关,包括I/O操作和部分内中断。
而DOS中断中和硬件设备有关的例程一般都是调用BIOS的中断处理程序

--------------------------------------------------------

DOS功能调用
AH 功能 调用参数 返回参数
00 程序终止(同INT 20H) CS=程序段前缀  
01 键盘输入并回显   AL=输入字符
02 显示输出 DL=输出字符  
03 异步通迅输入   AL=输入数据
04 异步通迅输出 DL=输出数据  
05 打印机输出 DL=输出字符  
06
直接控制台I/O
DL=FF(输入)
DL=字符(输出) AL=输入字符
07 键盘输入(无回显)   AL=输入字符
08
键盘输入(无回显)
检测Ctrl-Break   AL=输入字符
09
显示字符串
DS:DX=串地址
'$'结束字符串  
0A
键盘输入到缓冲区
DS:DX=缓冲区首地址
(DS:DX)=缓冲区最大字符数 (DS:DX+1)=实际输入的字符数
0B
检验键盘状态
  AL=00 有输入
AL=FF 无输入
0C
清除输入缓冲区并
请求指定的输入功能 AL=输入功能号
(1,6,7,8,A)  
0D 磁盘复位   清除文件缓冲区
0E 指定当前缺省的磁盘驱动器 DL=驱动器号 0=A,1=B,... AL=驱动器数
0F
打开文件
DS:DX=FCB首地址
AL=00 文件找到
AL=FF 文件未找到
10
关闭文件
DS:DX=FCB首地址
AL=00 目录修改成功
AL=FF 目录中未找到文件
11
查找第一个目录项
DS:DX=FCB首地址
AL=00 找到
AL=FF 未找到
12
查找下一个目录项
DS:DX=FCB首地址
(文件中带有*或?) AL=00 找到
AL=FF 未找到
13
删除文件
DS:DX=FCB首地址
AL=00 删除成功
AL=FF 未找到
14


顺序读


DS:DX=FCB首地址


AL=00 读成功
  =01 文件结束,记录中无数据
  =02 DTA空间不够
  =03 文件结束,记录不完整
15

顺序写

DS:DX=FCB首地址

AL=00 写成功
  =01 盘满
  =02 DTA空间不够
16
建文件
DS:DX=FCB首地址
AL=00 建立成功
  =FF 无磁盘空间
17

文件改名

DS:DX=FCB首地址
(DS:DX+1)=旧文件名
(DS:DX+17)=新文件名 AL=00 成功
AL=FF 未成功
19
取当前缺省磁盘驱动器
  AL=缺省的驱动器号 0=A,1=B,2=C,...
1A 置DTA地址 DS:DX=DTA地址  
1B


取缺省驱动器FAT信息


  AL=每簇的扇区数
DS:BX=FAT标识字节
CX=物理扇区大小
DX=缺省驱动器的簇数
1C 取任一驱动器FAT信息 DL=驱动器号 同上
21


随机读


DS:DX=FCB首地址


AL=00 读成功
  =01 文件结束
  =02 缓冲区溢出
  =03 缓冲区不满
22

随机写

DS:DX=FCB首地址

AL=00 写成功
  =01 盘满
  =02 缓冲区溢出
23
测定文件大小
DS:DX=FCB首地址
AL=00 成功(文件长度填入FCB)
AL=FF 未找到
24 设置随机记录号 DS:DX=FCB首地址  
25
设置中断向量
DS:DX=中断向量
AL=中断类型号  
26 建立程序段前缀 DX=新的程序段前缀  
27


随机分块读


DS:DX=FCB首地址
CX=记录数

AL=00 读成功
  =01 文件结束
  =02 缓冲区太小,传输结束
  =03 缓冲区不满
28

随机分块写

DS:DX=FCB首地址
CX=记录数
AL=00 写成功
  =01 盘满
  =02 缓冲区溢出
29

分析文件名

ES:DI=FCB首地址
DS:SI=ASCIIZ串
AL=控制分析标志 AL=00 标准文件
  =01 多义文件
  =02 非法盘符
2A
取日期
  CX=年
DH:DL=月:日(二进制)
2B
设置日期
CX:DH:DL=年:月:日
AL=00 成功
  =FF 无效
2C
取时间
  CH:CL=时:分
DH:DL=秒:1/100秒
2D
设置时间
CH:CL=时:分
DH:DL=秒:1/100秒 AL=00 成功
  =FF 无效
2E
置磁盘自动读写标志
AL=00 关闭标志
AL=01 打开标志  
2F 取磁盘缓冲区的首址   ES:BX=缓冲区首址
30 取DOS版本号   AH=发行号,AL=版本
31
结束并驻留
AL=返回码
DX=驻留区大小  
33


Ctrl-Break检测


AL=00 取状态
  =01 置状态(DL)
DL=00 关闭检测
  =01 打开检测 DL=00 关闭Ctrl-Break检测
  =01 打开Ctrl-Break检测

35 取中断向量 AL=中断类型 ES:BX=中断向量
36



取空闲磁盘空间



DL=驱动器号
0=缺省,1=A,2=B,...


成功:AX=每簇扇区数
    BX=有效簇数
    CX=每扇区字节数
    DX=总簇数
失败:AX=FFFF
38
置/取国家信息
DS:DX=信息区首地址
BX=国家码(国际电话前缀码)
AX=错误码
39 建立子目录(MKDIR) DS:DX=ASCIIZ串地址 AX=错误码
3A 删除子目录(RMDIR) DS:DX=ASCIIZ串地址 AX=错误码
3B 改变当前目录(CHDIR) DS:DX=ASCIIZ串地址 AX=错误码
3C
建立文件
DS:DX=ASCIIZ串地址
CX=文件属性 成功:AX=文件代号
错误:AX=错误码
3D


打开文件


DS:DX=ASCIIZ串地址
AL=0 读
  =1 写
  =3 读/写 成功:AX=文件代号
错误:AX=错误码

3E 关闭文件 BX=文件代号 失败:AX=错误码
3F


读文件或设备


DS:DX=数据缓冲区地址
BX=文件代号
CX=读取的字节数
读成功:
  AX=实际读入的字节数
  AX=0 已到文件尾
读出错:AX=错误码
40

写文件或设备

DS:DX=数据缓冲区地址
BX=文件代号
CX=写入的字节数 写成功:
  AX=实际写入的字节数
写出错:AX=错误码
41
删除文件
DS:DX=ASCIIZ串地址
成功:AX=00
出错:AX=错误码(2,5)
42



移动文件指针



BX=文件代号
CX:DX=位移量
AL=移动方式(0:从文件头绝对位移,1:从当前位置相对移动,2:从文件尾绝对位移) 成功:DX:AX=新文件指针位置
出错:AX=错误码


43


置/取文件属性


DS:DX=ASCIIZ串地址
AL=0 取文件属性
AL=1 置文件属性
CX=文件属性 成功:CX=文件属性
失败:CX=错误码

44





设备文件I/O控制





BX=文件代号
AL=0 取状态
  =1 置状态DX
  =2 读数据
  =3 写数据
  =6 取输入状态
  =7 取输出状态 DX=设备信息





45
复制文件代号
BX=文件代号1
成功:AX=文件代号2
失败:AX=错误码
46
人工复制文件代号
BX=文件代号1
CX=文件代号2 失败:AX=错误码
47
取当前目录路径名
DL=驱动器号
DS:SI=ASCIIZ串地址 (DS:SI)=ASCIIZ串
失败:AX=出错码
48
分配内存空间
BX=申请内存容量
成功:AX=分配内存首地
失败:BX=最大可用内存
49 释放内容空间 ES=内存起始段地址 失败:AX=错误码
4A
调整已分配的存储块
ES=原内存起始地址
BX=再申请的容量 失败:BX=最大可用空间
    AX=错误码
4B


装配/执行程序


DS:DX=ASCIIZ串地址
ES:BX=参数区首地址
AL=0 装入执行
AL=3 装入不执行 失败:AX=错误码


4C 带返回码结束 AL=返回码  
4D 取返回代码   AX=返回代码
4E
查找第一个匹配文件
DS:DX=ASCIIZ串地址
CX=属性 AX=出错代码(02,18)
4F
查找下一个匹配文件
DS:DX=ASCIIZ串地址
(文件名中带有?或*) AX=出错代码(18)
54 取盘自动读写标志   AL=当前标志值
56
文件改名
DS:DX=ASCIIZ串(旧)
ES:DI=ASCIIZ串(新) AX=出错码(03,05,17)
57
置/取文件日期和时间

BX=文件代号
AL=0 读取
AL=1 设置(DX:CX) DX:CX=日期和时间
失败:AX=错误码
58
取/置分配策略码
AL=0 取码
AL=1 置码(BX) 成功:AX=策略码
失败:AX=错误码
59


取扩充错误码


  AX=扩充错误码
BH=错误类型
BL=建议的操作
CH=错误场所
5A
建立临时文件
CX=文件属性
DS:DX=ASCIIZ串地址 成功:AX=文件代号
失败:AX=错误码
5B
建立新文件
CX=文件属性
DS:DX=ASCIIZ串地址 成功:AX=文件代号
失败:AX=错误码
5C



控制文件存取



AL=00封锁
  =01开启
BX=文件代号
CX:DX=文件位移
SI:DI=文件长度 失败:AX=错误码



62 取程序段前缀   BX=PSP地址



中断向量表

中断号 功能、触发条件或属性
8088中断向量
0H 除以零
1H 单步(用于DEBUG)
2H 非屏蔽中断
3H 断点指令(用于DEBUG)
4H 溢出
5H 打印屏幕
6H 保留
7H 保留
8259中断向量
8H 定时器
9H 键盘
AH 彩色/图形
BH 异步通讯(secondary)
CH 异步通讯(primary)
DH 硬磁盘
EH 软磁盘
FH 并行打印机
BIOS中断
10H 屏幕显示
11H 设备检验
12H 测定存储器容量
13H 磁盘I/O
14H 串行通讯口I/O
15H 盒式磁带I/O
16H 键盘输入
17H 打印机输出
18H BASIC入口代码
19H 引导装入程序
1AH 日时钟
提供给用户的中断
1BH Ctrl-Break控制的软中断
1CH 定时器控制器的软中断
数据表指针
1DH 显示器参量表
1EH 软盘参量表
1FH 图形表
DOS中断
20H 程序结束
21H 系统功能调用
22H 结束退出
23H Ctrl-Break退出
24H 严重错误处理
25H 绝对磁盘读功能
26H 绝对磁盘写功能
27H 驻留退出
28H-2EH DOS保留
2FH 打印机
30H-3FH DOS保留

BASIC中断

40H-5FH 保留
60H-67H 用户软中断
68H-7FH 保留
80H-85H 由BASIC保留
86H-F0H BASIC中断
F1H-FFH 保留



----------------------------

BIOS和DOS建立的中断向量表- -
                                     



绝对地址 16进制 10进制 有关内容
00H 0H 0  0 做除数时处理器发出的中断 溢出条件是: 除法类型 结果--有符号字 <-128 | >+127有符号双字 <- 32768 | >+32767无符号字 | >255无符号双字 | >65535--DOS设有INT 00H处理程序,系统将显示“Divide Overflo”, 结束当前程序的执行。
04H 1H 1 单步调试时处理器发出的中断
08H 2H 2 非屏蔽中断
0CH 3H 3 调试程序设置断点时处理器发出的中断
10H 4H 4 发生算术溢出时处理器发出的中断
14H 5H 5 调用BIOS的屏幕拷贝操作
18-1FH 6-7H 6-7 保留单元
20H 8H 8 每1/18.2秒定时器发出的中断
24H 9H 9 按压或释放键时产生的中断
28H 0AH 10 保留单元
2CH 0BH 11 通讯设备使用的硬件中断
30H 0CH 12 通讯设备使用的硬件中断
34H 0DH 13 交替打印时硬件产生的中断
38H 0EH 14 软驱操作结束时产生的硬件中断
3CH 0FH 15 打印机发出警告信号时产生的硬件中断
40H 10H 16 BIOS的显示I/O功能调用
44H 11H 17 BIOS设备确认调用
48H 12H 18 BIOS确认内存空间大小的功能调用
4CH 13H 19 BOIS的磁盘I/O功能调用
50H 14H 20 BIOS的RS-232串行I/O功能调用
54H 15H 21 在PC和XT机上是BIOS磁带I/O功能调用。在AT机上是AT扩充服务功能调用。
58H 16H 22 BIOS的键盘I/O功能调用
5CH 17H 23 BIOS的打印机I/O功能调用
60H 18H 24 ROM的BASIC解释和程序功能调用
64H 19H 25 BIOS的装载引导服务调用
68H 1AH 26 BIOS的日期时钟功能调用
6CH 1BH 27 Ctrl+Break处理程序功能调用。当键入Ctrl+Break键时指向可执行的程序入口初始化BIOS使该向量指向一条TRET指令。用户可修改该向量,使它指向自己的程序。
70H 1CH 28 指向每1/18.2秒时可执行的服务程序的入口。初始化时该向量指向一条IRET指令。用户可修改该向量,使它指向自己的Ctrl+Break 处理程序。
74H 1DH 29 指向显示控制器初始化参数。BIOS使这个向量指向ROM驻留表。
78H 1EH 30 指向软盘参数表。BIOS使这个向量指向ROM 驻留表,但是DOS把它改为指向DOS的RAM 驻留表。
7CH 1FH 31 指向一点阵表。在这个表中,BIOS可以找到字符集后128个字符的点阵
80H 20H 32 终止程序的DOS功能调用
84H 21H 33 任何种DOS功能调用 
88H 22H 34 指向DOS的结束地址
8CH 23H 35 指向DOS的Ctrl+Break处理程序
90H 24H 36 指向DOS的严重错误处理程序
94H 25H 37 DOS绝对磁盘读调用
98H 26H 38 DOS绝对磁盘写调用
9CH 27H 39 程序终止,但仍驻留内存的DOS功能调用
9DH 28H 40 DOS空闲
9EH 29H 41 支持驱动器程序输出
9FH-A1H 2AH-2CH 42-44 保留单元
A2H 2DH 45 DOS构件接口
A3H 2EH 46 COMMAND.COM退回入口
A4H 2FH 47 多路中断(空闲信号)
A5-FFH 30-3FH 48-63 为DOS保留的单元
100H 40H 64 保留单元
104H 41H 65 指向硬盘0的参数表,BOIS使这个向量指向ROM驻留的表。
108-10FH 42-43H  66-67 保留单元
110H 44H 68 PC机使用,用于指向低分辩率图形字符参数表
114H 45H 69 保留单元
118H 46H 70 指向硬盘1的参数表,BIOS使这个向量指向 ROM驻留的表。
11CH 47H 71 保留单元
120H 48H 72 PC机使用,用于把PC机的键盘代码变换为标准的键盘代码。
124H 49H 73 指向键盘增强服务变换表
128-17FH 4A-5FH 74-95 保留单元
180-19FH 60-67H 96-103 为用户程序保留的单元
1A0-1BFH 68-6FH 104-111 未使用
1C0H 70H 112 硬件中断(IRQ--interrupt request) 8--实时时钟中断
1C4H 71H 113 硬件中断9
1C8H 72H 114 硬件中断10
1CCH 73H 115 硬件中断11
1D0H 74H 116 硬件中断12
1D4H 75H 117 硬件中断13--BIOS把这个中断向量重定向为非屏蔽中断(NMI)
1D8H 76H 118 硬件中断14
1DCH 77H 119 硬件中断15
1E0-1FFH 78-7FH 120-127 未使用
200-217H 80-85H 128-133 为BASIC保留
218-3C3H 86-F0H 134-240 BASIC程序运行时提供给BASIC解释程序作用
3C4-#FFH F1-FFH <> 241-255 未作用

===============================
===============================


INT21 最常用的DOS功能调用

AH
功能
调用参数
返回参数

00
程序终止 ( 同 INT 20H)
CS= 程序段前缀
 
01
键盘输入并回显
  AL= 输入字符

02
显示输出
DL= 输出字符
 
03
异步通迅输入
  AL= 输入数据

04
异步通迅输出
DL= 输出数据
 
05
打印机输出
DL= 输出字符
 
06
直接控制台 I/O
DL=FF( 输入 )
DL= 字符 ( 输出 )
AL= 输入字符

07
键盘输入 ( 无回显 )
  AL= 输入字符

08
键盘输入 ( 无回显 )
检测 Ctrl-Break
  AL= 输入字符

09
显示字符串
DS:DX= 串地址
'$' 结束字符串
 
0A
键盘输入到缓冲区
DS:DX= 缓冲区首地址
(DS:DX)= 缓冲区最大字符数
(DS:DX+1)= 实际输入的字符数

0B
检验键盘状态
  AL=00 有输入
AL=FF 无输入

0C
清除输入缓冲区并
请求指定的输入功能
AL= 输入功能号
(1,6,7,8,A)
 
0D
磁盘复位
  清除文件缓冲区

0E
指定当前缺省的磁盘驱动器
DL= 驱动器号 0=A,1=B,…
AL= 驱动器数

0F
打开文件
DS:DX=FCB 首地址
AL=00 文件找到
AL=FF 文件未找到

10
关闭文件
DS:DX=FCB 首地址
AL=00 目录修改成功
AL=FF 目录中未找到文件

11
查找第一个目录项
DS:DX=FCB 首地址
AL=00 找到
AL=FF 未找到

12
查找下一个目录项
DS:DX=FCB 首地址
( 文件中带有 * 或 ?)
AL=00 找到
AL=FF 未找到

13
删除文件
DS:DX=FCB 首地址
AL=00 删除成功
AL=FF 未找到

14

顺序读

DS:DX=FCB 首地址

AL=00 读成功
  =01 文件结束 , 记录中无数据
  =02 DTA 空间不够
  =03 文件结束 , 记录不完整

15
顺序写
DS:DX=FCB 首地址
AL=00 写成功
  =01 盘满
  =02 DTA 空间不够

16
建文件
DS:DX=FCB 首地址
AL=00 建立成功
  =FF 无磁盘空间

17
文件改名
DS:DX=FCB 首地址
(DS:DX+1)= 旧文件名
(DS:DX+17)= 新文件名
AL=00 成功
AL=FF 未成功

19
取当前缺省磁盘驱动器
  AL= 缺省的驱动器号 0=A,1=B,2=C,…

1A
置 DTA 地址
DS:DX=DTA 地址
 
1B

取缺省驱动器 FAT 信息

  AL= 每簇的扇区数
DS:BX=FAT 标识字节
CX= 物理扇区大小
DX= 缺省驱动器的簇数

1C
取任一驱动器 FAT 信息
DL= 驱动器号
同上

21

随机读

DS:DX=FCB 首地址

AL=00 读成功
  =01 文件结束
  =02 缓冲区溢出
  =03 缓冲区不满

22
随机写
DS:DX=FCB 首地址
AL=00 写成功
  =01 盘满
  =02 缓冲区溢出

23
测定文件大小
DS:DX=FCB 首地址
AL=00 成功 ( 文件长度填入 FCB)
AL=FF 未找到

24
设置随机记录号
DS:DX=FCB 首地址
 
25
设置中断向量
DS:DX= 中断向量
AL= 中断类型号
 
26
建立程序段前缀
DX= 新的程序段前缀
 
27

随机分块读

DS:DX=FCB 首地址
CX= 记录数
AL=00 读成功
  =01 文件结束
  =02 缓冲区太小 , 传输结束
  =03 缓冲区不满

28
随机分块写
DS:DX=FCB 首地址
CX= 记录数
AL=00 写成功
  =01 盘满
  =02 缓冲区溢出

29
分析文件名
ES:DI=FCB 首地址
DS:SI=ASCIIZ 串
AL= 控制分析标志
AL=00 标准文件
  =01 多义文件
  =02 非法盘符

2A
取日期
  CX= 年
DH:DL= 月 : 日 ( 二进制 )

2B
设置日期
CX:DH:DL= 年 : 月 : 日
AL=00 成功
  =FF 无效

2C
取时间
  CH:CL= 时 : 分
DH:DL= 秒 :1/100 秒

2D
设置时间
CH:CL= 时 : 分
DH:DL= 秒 :1/100 秒
AL=00 成功
  =FF 无效

2E
置磁盘自动读写标志
AL=00 关闭标志
AL=01 打开标志
 
2F
取磁盘缓冲区的首址
  ES:BX= 缓冲区首址

30
取 DOS 版本号
  AH= 发行号 ,AL= 版本

31
结束并驻留
AL= 返回码
DX= 驻留区大小
 
33

Ctrl-Break 检测

AL=00 取状态
  =01 置状态 (DL)
DL=00 关闭检测
  =01 打开检测
DL=00 关闭 Ctrl-Break 检测
  =01 打开 Ctrl-Break 检测

35
取中断向量
AL= 中断类型
ES:BX= 中断向量

36


取空闲磁盘空间


DL= 驱动器号
0= 缺省 ,1=A,2=B,…

成功 :AX= 每簇扇区数
    BX= 有效簇数
    CX= 每扇区字节数
    DX= 总簇数
失败 :AX=FFFF

38
置 / 取国家信息
DS:DX= 信息区首地址
BX= 国家码 ( 国际电话前缀码 )
AX= 错误码

39
建立子目录 (MKDIR)
DS:DX=ASCIIZ 串地址
AX= 错误码

3A
删除子目录( RMDIR )
DS:DX=ASCIIZ 串地址
AX= 错误码

3B
改变当前目录 (CHDIR)
DS:DX=ASCIIZ 串地址
AX= 错误码

3C
建立文件
DS:DX=ASCIIZ 串地址
CX= 文件属性
成功 :AX= 文件代号
错误 :AX= 错误码

3D

打开文件

DS:DX=ASCIIZ 串地址
AL=0 读
  =1 写
  =3 读 / 写
成功 :AX= 文件代号
错误 :AX= 错误码

3E
关闭文件
BX= 文件代号
失败 :AX= 错误码

3F

读文件或设备

DS:DX= 数据缓冲区地址
BX= 文件代号
CX= 读取的字节数
读成功 :
  AX= 实际读入的字节数
  AX=0 已到文件尾
读出错 :AX= 错误码

40
写文件或设备
DS:DX= 数据缓冲区地址
BX= 文件代号
CX= 写入的字节数
写成功 :
  AX= 实际写入的字节数
写出错 :AX= 错误码

41
删除文件
DS:DX=ASCIIZ 串地址
成功 :AX=00
出错 :AX= 错误码 (2,5)

42


移动文件指针


BX= 文件代号
CX:DX= 位移量
AL= 移动方式 (0: 从文件头绝对位移 ,1: 从当前位置相对移动 ,2: 从文件尾绝对位移 )
成功 :DX:AX= 新文件指针位置
出错 :AX= 错误码


43

置 / 取文件属性

DS:DX=ASCIIZ 串地址
AL=0 取文件属性
AL=1 置文件属性
CX= 文件属性
成功 :CX= 文件属性
失败 :CX= 错误码

44




设备文件 I/O 控制




BX= 文件代号
AL=0 取状态
  =1 置状态 DX
  =2 读数据
  =3 写数据
  =6 取输入状态
  =7 取输出状态
DX= 设备信息





45
复制文件代号
BX= 文件代号 1
成功 :AX= 文件代号 2
失败 :AX= 错误码

46
人工复制文件代号
BX= 文件代号 1
CX= 文件代号 2
失败 :AX= 错误码

47
取当前目录路径名
DL= 驱动器号
DS:SI=ASCIIZ 串地址
(DS:SI)=ASCIIZ 串
失败 :AX= 出错码

48
分配内存空间
BX= 申请内存容量
成功 :AX= 分配内存首地
失败 :BX= 最大可用内存

49
释放内容空间
ES= 内存起始段地址
失败 :AX= 错误码

4A
调整已分配的存储块
ES= 原内存起始地址
BX= 再申请的容量
失败 :BX= 最大可用空间
    AX= 错误码

4B

装配 / 执行程序

DS:DX=ASCIIZ 串地址
ES:BX= 参数区首地址
AL=0 装入执行
AL=3 装入不执行
失败 :AX= 错误码


4C
带返回码结束
AL= 返回码
 
4D
取返回代码
  AX= 返回代码

4E
查找第一个匹配文件
DS:DX=ASCIIZ 串地址
CX= 属性
AX= 出错代码 (02,18)

4F
查找下一个匹配文件
DS:DX=ASCIIZ 串地址
( 文件名中带有 ? 或 *)
AX= 出错代码 (18)

54
取盘自动读写标志
  AL= 当前标志值

56
文件改名
DS:DX=ASCIIZ 串 ( 旧 )
ES:DI=ASCIIZ 串 ( 新 )
AX= 出错码 (03,05,17)

57
置 / 取文件日期和时间
BX= 文件代号
AL=0 读取
AL=1 设置 (DX:CX)
DX:CX= 日期和时间
失败 :AX= 错误码

58
取 / 置分配策略码
AL=0 取码
AL=1 置码 (BX)
成功 :AX= 策略码
失败 :AX= 错误码

59

取扩充错误码

  AX= 扩充错误码
BH= 错误类型
BL= 建议的操作
CH= 错误场所

5A
建立临时文件
CX= 文件属性
DS:DX=ASCIIZ 串地址
成功 :AX= 文件代号
失败 :AX= 错误码

5B
建立新文件
CX= 文件属性
DS:DX=ASCIIZ 串地址
成功 :AX= 文件代号
失败 :AX= 错误码

5C


控制文件存取


AL=00 封锁
  =01 开启
BX= 文件代号
CX:DX= 文件位移
SI:DI= 文件长度
失败 :AX= 错误码



62
取程序段前缀
  BX=PSP 地址
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值