dos 中断类型

中断命令格式:Int 类型码

类型码n05H1FH时,调用BIOS的中断处理程序;类型码n20H3FH时,调用DOS的中断处理程序

 

Dos软中断功能及参数

中断号

功能

入口参数

出口参数

INT  20h

程序正常退出

 

 

INT  21h

系统功能调用

详见下面INT 21H dos 功能调用

INT  22h

结束退出

 

 

INT  23h

Ctrl+break 中断退出

 

 

INT  24h

出错退出

 

 

INT  25h

驻留退出

 

 

INT  26h

读盘

CX=读入扇区,DX为起始逻辑扇区,DS:BX是存放读出数据的缓冲区地址,AL=盘号

CF=1出错

INT  27h

写盘

CX=写入扇区,DX为起始逻辑扇区,DS:BX是存放读出数据的缓冲区地址,AL=盘号

CF=1出错

 

 

汇编--int 21H DOS功能调用

编号

功能

入口参数

出口参数

0

程序终止

CS=PSP段地址

 

1

带回显的字符输入

 

AL=8位数据

2

字符输出

DL=8位数据

 

3

辅助设备输入

 

AL=8位数据

4

辅助设备输出

DL=8位数据

 

5

打印输出

DL=8位数据

 

6

直接控制台I/O

DL=0FFH(输入请求) DL=0-OFEH(输出请求)

AL=8位数据

7

无回显过滤的字符输入

 

AL=8位数据

8

无回显的字符的输入

 

AL=8位数据

9

显示字符串

DSDX=字符串

 

OAH

缓冲输入

DSDX=缓冲区段:位移

 

OBH

取输入状态

 

AL=0(无字符) AL=1(有字符)

OCH

重置输入缓冲区后输入

AL=功能号(1/6/7/8/OAHDSDX=缓冲区(功能OAH

AL=8位数据 (功能1/6/7/8

ODH

重启动磁盘

 

 

OEH

置缺省盘驱动器

DL=驱动器码(0=A1=B

AL=总的驱动器数

OFH

打开文件

DSDX=FCB

AL=0:成功,-1:失败

10H

关闭文件

DSDX=FCB

AL=0:成功,-1:失败

11H

查找第一匹配目录

DSDX=FCB

AL=0:成功,-1:失败

12H

查找下一匹配目录

DSDX=FCB

AL=0:成功,-1:失败

13H

删除文件

DSDX=FCB

AL=0:成功,-1:失败

14H

顺序读

DSDX=FCB

AL=返回码

15H

顺序写

DSDX=FCB

AL=返回码

16H

创建文件

DSDX=FCB

AL=0:成功,-1:失败

17H

重命名文件

DSDX=FCB

AL=0:成功,-1:失败

18H

保留未用

 

 

19H

取缺省盘驱动器

 

AL=驱动器码(0=A

1AH

设置DTA

DSDX=DTA

 

1BH

取缺省驱动器的分配信息

 

AL=每簇的扇区数 CX=每扇区的字节数
DX=
文件区所占簇数
DS
BX=介质描述字节

1CH

取指定驱动器的分配信息

DL=驱动器码(0=缺省

同上

1DH

保留未用

 

 

1EH

保留未用

 

 

1FH

取缺省驱动器的DPB

 

DSBX=DPB

20F

保留未用

 

 

21F

随机读一个记录

DSDX=FCB

AL=返回码

22F

随机写一个记录

DSDX=FCB

AL=返回码

23F

取文件大小

DSDX=未打开的FCB

AL=0:成功,-1:失败

24F

设置随机记录号

DSDX=FCB

 

25F

置中断向量

AL=中断号,DSDX=入口

 

26F

创建程序段前缀

DX=新程序段的段地址

 

27H

随机读若干记录

CX=记录数 DSDX=FCB

AL=返回码 CX=实际记录数

28H

随机写若干记录

 

 

29H

分析文件名

AL=控制分析标志 DSSI=正文串段:位移
ES
DI=FCB段:位移

AL=分析结果 DSSI=分析后的头一字符段的段:位移

2AH

取系统日期

 

CX=年,AL=星期 DH=月,DL=

2BH

置系统日期

CX=年,DH=月,DL=

AL=0:成功,-1:失败

2CH

取系统时间

 

CH=时,CL=DH=秒,DL=百分秒

2DH

置系统时间

CX=时和分,DX=秒,百分秒

AL=0:成功,-1:失败

2EH

置确认标志

AL=0:关闭,1:打开

 

2FH

DTA

 

ALAH=主,次版本

30H

DOS版本号

 

AL=0:成功,-1失败

31H

结束并驻留

AL=返回码,DX=内存大小

 

32H

取指定驱动器的DPB

DL=驱动器码(0=缺省

DSBX=DPB

33H

取或置Ctrl-Break标志

AL=0(取标志) AL=1(置标志),DL=标志

DL=标志状态(功能0) (0:关,1:开)

34H

DOS中断标志

 

ESBX=DOS中断标志

35H

取中断向量

AL=中断号

ESBX=中断程序入口

36H

取磁盘的自由空间

DL=驱动器码(0=缺省

驱动器无效:AX=-1 有效:AX=每簇扇区数
BX=
自由簇数
CX=
每扇区字节数
DX=
文件区所占簇数

37H

取或置命令行开关符, 取或置名字检查开关

AL=0(取开关符) AL=1(置开关符)
DL=
(开关符)
AL=2
(取检查开关)
AL=3
(置检查开关)
DL=
开关值

DL=开关符(功能0)  
DL=
检查开关(功能2
 

38H

取国家信息

AL=0DSDX=缓冲区

 

39H

创建子目录

DSDX=路径说明串

1

3AH

删除子目录

DSDX=路径说明串

1

3BH

设置当前目录

DSDX=路径说明串

1

3CH

创建文件

DSDX=文件说明,CX=属性

2

3DH

打开文件

DSDX=文件说明,AL=模式

2

3EH

关闭文件

BX=文件号

1

3FH

读文件或设备

BX=文件号 CX=字符数
CX
DX=缓冲区

成功:CF=0DXAX=新指针位置 失败:CF=1AX=错误码

40H

写文件或设备

 

 

41H

删除文件

DSDX=文件说明串

1

42H

移文件指针

AL=方式 BX=文件号
CX
DX=位移量

成功:CF=0DXAX=新指针位置 失败:CF=1AX=错误码

43H

取或置文件属性

AL=0(取属性) AL=1CX=新属性(置属性)
DS
DX=文件说明

CX=属性(功能0

44H

设备驱动控制

AL=0(取设备信息) AL=1(置设备信息)
AL=2
(读设备控制通道)
AL=3
(写设备控制通道)
AL=4
(同功能2
AL=5
(同功能3
AL=6
(取输入状态)
AL=7
(取输出状态)
BX=
文件号(功能0-36-7
BL=
驱动器码(功能4-5
CX=
字节数(功能2-5
DS
DX=缓冲区(功能2-5

失败:CF=1AX=错误码 成功:
DX=
设备信息(功能0
AL=
状态(功能6/7
0
:未准备,1:准备
AX=
传送字节数(功能2-5

45H

复制文件号

BX=文件号

成功:CF=0 AX=新文件号
失败:CF=1AX=错误码

46H

强迫复制文件号

BX=1文件号 CX=2文件号

1

47H

取当前目录

DL=驱动器码 DSSI=缓冲区

1

48H

分配内存

BX=所需内存的节数

成功:CF=0 AX=分配块的段
失败:CF=1AX=错误码
BX=
最大可用块大小

49H

释放内存

ES=释放块的段

1

4AH

修改内存分配

ES=修改块的段 BX=新长度(以节计)

成功:CF=0 失败:CF=1AX=错误码
BX=
最大可用块大小

4BH

加载程序 执行程序

AL=0(加载并执行) AL=1(获得执行信息)
AL=3
(加载覆盖)
DS
DX=程序说明
ES
BX=参数块

1

4CH

带返回码结束

AL=返回码

 

4DH

取返回码

 

AH=类型码,AL=返回码

4EH

查找第一个匹配项

CX=属性,DSDX=文件说明

1

4FH

查找下一个匹配项

 

1

50H

设置PSP段地址

BX=PSP段地址

 

51H

PSP段地址

 

BX=PSP段地址

52H

DOS系统数据块

 

ESBX=DOS系统数据块

53H

为块设备建立DPB

DSSI=BPBESBP=DPB

 

54H

取确认标志

 

AL=标志值(0:关,1:开)

55H

创建PSP

DX=PSP

 

56H

重命名文件

DSDX=旧名,ESDI=新名

1

57H

取或置文件日期和时间

AL=0BX=文件号(取) AL=1BX=文件号,
CX=
时间,DX=日期(置)

成功:CF=0CX=时间 DX=日期(取)
失败:CF=1AX=错误码

58H

/置分配策略码

AL=0取码 =1置码(BX
BX=
策略码

成功:AX=策略码 失败:AX=错误码

59H

取扩充错误码

 

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

5AH

建立临时文件

CX=文件属性 DSDX=ASCZ串地址

成功:AX=文件代号 失败:AX=错误码

5BH

建立新文件

CX=文件属性 DSDX=ASCZ串地址

成功:AX=文件代号 失败:AX=错误码

5CH

控制文件存取

AL=00封锁 =01开启
BX=
文件代号
CX
DX=文件位移
SI
DI=文件长度

失败:AX=错误码

62H

取程序段前缀地址

 

BX=PSP地址

1:出口参数为:成功时,CF=0;失败时,CF=1AX=错误码 注2:出口参数为:成功时,CF=0AX=文件号;失败时,CF=1AX=错误码

 

你可能感兴趣的:(OS(操作系统))