中断向量地址一览表

 

 

中断向量地址一览表

.8088中断向量

0-3

4-7

8-B

C-F

10-13

14-17

18-1F

0

1

2

3

4

5

6,7

除以零

单步(用于DEBUG)

非屏蔽中断

断点指令

溢出

打印屏幕

保留

.8259中断向量

20-23

24-27

28-2B

2C-2F

30-33

34-37

38-3B

3C-3F

8

9

A

B

C

D

E

F

定时器

键盘

彩色/图形

异步通讯(secondary)

异步通讯(primary)

硬磁盘

软磁盘

并行打印机

.BIOS中断

40-43

44-47

48-4B

4C-4F

50-53

54-57

58-5B 

5C-5F 

60-63 

64-67 

68-6B 

10

11

12

13

14

15

16

17 

18 

19 

1A 

屏幕显示

设备检验

测定存储器容量

磁盘I/O

串行通讯口I/O

盒式磁带I/O

键盘输入

打印机输出 

BASIC入口代码

引导装入程序

日时钟

.提供给用户的中断

6C-6F

70-73

1B

1C

Ctrl-Break控制的软中断

定时器控制的软中断

.数据表指针

74-77

78-7B

7C-7F

1D

1E

1F

显示器参量表

软盘参数表

图形表

.DOS中断

80-83

84-87

88-8B

8C-8F 

20

21

22

23

程序结束
系统功能调用
结束退出   
Ctrl-Break退出

90-93

94-97

98-9B

9C-9F 

A0-BB

BC-BF

C0-FF 

24

25

26

27 

28-2E 

 2F

30-3F

严重错误处理
绝对磁盘读功能
绝对磁盘写
驻留退出 
DOS保留
打印机
DOS保留
七.BASIC中断

100-17F

180-19F

1A0-1FF

200-217

218-3C3

3C4-3FF

40-5F

60-67

68-7F

80-85

86-F0

F1-FF

保留

用户软中断

保留

BASIC保留

BASIC中断

保留

DOS功能调用

AH

功 能

调 用 参 数

返 回 参 数

00

程序终止

(同INT 20H)

CS=程序段前缀

01

键盘输入并回显

AL=输入字符

02

显示输出

DL=输出字符

03

异步通讯输入

AL=输入数据

04

异步通讯输出

DL=输出数据

05

打印机输出

DL=输出字符

06

直接控制台I/O

DL=FF(输入) DL=字符(输入)

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=驱动器号 AL=驱动器数0=A,1=B,...

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 盘满

=02DTA空间不够

16

建文件

DS:DX=FCB首地址

AL=00 建立成功

=FF 无磁盘空间

17

文件改名

DS:DX=FCB

首地址(DS:DX+1)=旧文件名

(DS:DX+17)=新文件名

AL= 00 成功

= FF 未成功

19

取当前缺省磁盘

AL=缺省的驱动器

驱动器 号0=A,1=B,2=C,.

1A

置DTA地址

DS:DX=DTA地址

1B

取缺省驱动器FAT信息

AL=每簇的扇区数

DS:BX=FTA标识字节

CX=物理扇区的大小

DX=缺省驱动器的簇数

1C

取任一驱动器FAT信息

DL=驱动器号

同上

21

随机读

DS:DX=FCB首地址

AL=00读成功

=01文件结束

=缓冲区溢出

=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缓冲区不满

CX=读取的记录数

28

随机分块写

DS:DX=FCB首地址

CX=记录数

AL=00写成功

AL=01盘满

=02缓冲区溢出

29

分析文件名

ES:DI=FCB首地址

DS:SI=ASCII串

AL=控制分析标志

AL=00标准文件

=01多义文件

=FF非法盘符

2A

取日期

CX=年 DH:DL=月:日(二进制)

2B

设置日期

CX:DH:DL=年:月:日

AL=00成功, AL=FF无效

2C

取时间

CH:CL=时:分

DH:DL=秒:1/100秒

2D

设置时间

CH:CL=时:分

DH:DL=秒:1/100秒

AL=00成功

AL=FF无效

2E

置磁盘自动读写标志

AL=00关闭标志

AL=01打开标志

2F

取磁盘缓冲区的首址

ES:BX=缓冲区首址

30

取DOS版本号

AH=发行号,AL=版号

31

结束并驻留

AL=返回码, DX=驻留区大小

33

Ctrl-Break检测

AL=00取状态

AL=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=ASCII 串地址

AX=错误码

3A

删除子目录(RMDIR)

DS:DX=ASCII 串地址

AX=错误码

3B

改变当前目录(CHDIR)

DS:DX=ASCII 串地址

AX=错误码

3C

建立文件

DS:DX=ASCII 串地址

CX=文件属性

成功:AX=文件代号

失败:AX=错误码

3D

打开文件

DS:DX=ASCII 串地址

AL=0读, =1写,=2读/写

成功: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=ASCII 串地址

AL=0取文件属性

AL=1置文件属性

CX=文件属性

成功:CX=文件属性

失败:AX=错误码

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=ASCII 串地址

(文件名中带?或*)

AX=出错代码(18)

54

取盘自动读写标志

AL=当前标志值

56

文件改名

DS:DX=ASCII 串(旧)

ES:DI=ASCIIZ串(新)

AX=出错码(03,05, 17)

57

置/取文件目期和时间

BX=文件代号

AL=0读取

AL=1设置(DX:CX)

DX:CX=日期和时间

失败:AX=错误码

58

取/置分配策略码

AL=0取码

=1置码(BX)

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地址

* AH=0-2E适用DOS1.0以上版本;

AH=2F-57适用DOS2.0以上版本;

AH=58-62适用DOS3.0以上版本.

 

BIOS中断

INT

AH

功能

调 用 参 数

返 回 参 数

10

0

设置显示方式

AL=00 40*25黑白方式

=01 40*25彩色方式

=02 80*25黑白方式

=03 80*25彩色方式

=04 320*200彩色图形方式

=05 320*200黑白图形方式

=06 640*200黑白图形方式

=07 80*25单色文本方式

=08 160*200 16色图形

=09 320*200 16色图形

=0A 640*200 16色图形

=0B 保留(EGA)

=0C 保留(EGA)

=0D 320*200彩色图形(EGA)

=0E 640*200彩色图形(EGA)

=0F 640*350黑白图形(EGA)

=10 640*350彩色图形(EGA)

=11 640*480单色图形(EGA)

=12 640*480 16色图形(EGA)

=13 320*200 256色图形(EGA)

=40 80*30彩色文本(CGE400)

=41 80*50彩色文本(CGE400)

=42 640*400彩色文本(CGE400)

10

1

置光标类型

(CH)0-3=光标起始行

(CL)0-3=光标结束行

10

2

置光标位置

BH=页号,DH,DL=行,列

10

3

读光标位置

BH=页号

CH=光标起始行,DH,DL=行,列

10

4

读光笔位置

AH=0光笔未触发,=1光笔触发CH=象素行, BX=象素列,DH=字符行,DL=字符列

10

5

置显示页

AL=页号

10

6

屏幕初始化或上卷

AL=上卷行数,AL=0整个窗口空白BH=卷入行属性,CH=左上角行号, CL=左上角列号,CH=右下角行号,DL=右下角列号

10

7

屏幕初始化或下卷

AL=下卷行数,AL=0整个窗口空白BH=卷入行属性,CH=左上角行号,CL=左上角列号,DH=右下角行号,DL=右下角列号

10

8

读光标位置的字符和属性

BH=显示页

AH=属性,AL=字符

10

9

在光标位置显示字符及其属性

BH=显示页,AL=字符,BL=属性

CX=字符重复次数

10

A

在光标位置显示字符

BH=显示页,AL=字符

CX=字符重复次数

10

B

置彩色调板(320*200图形)

BH=彩色调板ID

BL=和ID配套使用的颜色

10

C

写象素

DX=行(0-199) CX=列(0-639)

AL=象素值

10

D

读象素

DX=行(0-199) CX=列(0-639)

AL=象素值

10

E

显示字符(光标前移)

AL=字符,BL=前景色

10

F

取当前显示方式

AH=字符列数,AL=显示方式

10

13

显示字符串(适用AT)

ES:BP=串地址,CX=串长度

DH,DL=起始行,列,BH=页号

AL=0,BL=属性

串:char,char...

AL=1,BL=属性

串:char,char...

AL=2

串:char,attr,char, attr,...

AL=3

串:char,attr,char,attr,...

 

 

光标返回起始位置

 

光标跟随移动

 

光标返回起始位置

 

光标跟随移动

11

设备检验

AX=返回值

bit0=1,配有磁盘

bit1=1,80287协处理器

bit4,5=01,40*25BW(彩色板)

=10,80*25BW(彩色板)

=11,80*25BW(黑白板)

bit6,7=软盘驱动器号

bit9,10,11= RS-232板号

bit12=游戏适配器

bit13=串行打印机

bit14,15=打印机号

12

测定存储器容量

AX=字节数(KB)

13

0

软盘系统复位

13

1

读软盘状态

AL=状态字节

13

2

读磁盘

AL=扇区数

CH,CL=磁道号,扇区号

DH,DL=磁头号,驱动器号

ES:BX=数据缓冲区地址

读成功:AH=0

AL=读取的扇区数

读失败:

AH=出错代码

13

3

写磁盘

同上

写成功:AH=0 AL=写入的扇区数

写失败: AH=出错代码

13

4

检验磁盘扇区

同上(ES:BX不设置)

成功:AH=0 AL=检验的扇区数

失败:AH=出错代码

13

5

格式化盘磁道

ES:BX=磁道地址

成功:AH=0 失败:AH=出错代码

14

0

初始化串行通讯口

AL= 初始化参数

DX=通讯口号(0,1)

AH = 通讯口状态

AL = 调制解调器状态

14

1

向串行通讯口写字符

AL=字符,DX=通讯口号(0,1)

写成功:(AH)7=0

写失败:(AH)7=1

(AH)0-5=通讯口状态

14

2

从串行通讯口读字符

DX=通讯口号(0,1)

读成功:(AH)7=0,(AL)=字符

读失败:(AH)7=1,(AH)0-6=通讯口状态

14

3

取通讯口状态

DX=通讯口号(0,1)

AH=通讯口状态

AL=调制解调器状态

15

0

启动盒式磁带马达

15

1

停止盒式磁带马达

15

2

磁带分块读

ES:BX=数据转输区地址

CX=字节数

AH=状态字节

AH=00读成功,=01冗余检验错

=02无数据传输,=04无引导,=80非法命令

15

3

磁带分块写

DS:BX=数据传输区地址

CX=字节数

AH=状态字节(同上)

16

0

从键盘读字符

AL=字符码,AH=扫描码

16

1

读键盘缓冲区字符

ZF=0 AL=字符码,AH=扫描码

ZF=1 缓冲区空

16

2

取键盘状态字节

AL=键盘状态字节

17

0

打印字符,回送状态字节

AL=字符,DX=打印机号

AH=打印机状态字节

17

1

初始化打印机,回送状态字节

DX=打印机号

AH=打印机状态字节

17

2

取状态字节

DX=打印机号

AH=打印机状态字节

1A

0

读时钟

CH:CL=时:分

DH:DL=秒:1/100秒

1A

1

置时钟

CH:CL=时:分,DH:DL=秒:1/100秒

1A

2

读实时钟

CH:CL=时:分(BCD)

DH:DL=秒:1/100秒(BCD)

1A

6

置报警时间

CH:CL=时:分(BCD)

DH:DL=秒:1/100秒(BCD)

1A

7

清除报警

posted @ 2006-11-24 23:27  Freedom  阅读(1683)  评论(0编辑  收藏  举报