中断向量地址一览表

.8088 中断向量
.8088中断向量
0-3
4-7
8-B
C-F
10-13
14-17
18-1F
0
1
2
3
4
5
6,7
除以零
单步 ( 用于 DEBUG)
(用于DEBUG)
非屏蔽中断
断点指令
溢出
打印屏幕
保留
.8259 中断向量
.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)
/图形
异步通讯 (secondary)
(secondary)
异步通讯 (primary)
(primary)
硬磁盘
软磁盘
并行打印机
.BIOS 中断
.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
I/O
盒式磁带 I/O
键盘输入
I/O
键盘输入
打印机输出  
BASIC 入口代码
引导装入程序
日时钟
 
BASIC 入口代码
引导装入程序
日时钟
入口代码
引导装入程序
日时钟
. 提供给用户的中断
.提供给用户的中断
6C-6F
70-73
1B
1C
Ctrl-Break 控制的软中断
定时器控制的软中断
控制的软中断
定时器控制的软中断
. 数据表指针
.数据表指针
74-77
78-7B
7C-7F
1D
1E
1F
显示器参量表
软盘参数表
图形表
.DOS 中断
.DOS中断
80-83
84-87
88-8B
8C-8F 
20
21
22
23
程序结束
系统功能调用
结束退出   
Ctrl-Break退出
Ctrl-Break退出
  Ctrl-Break退出
90-93
94-97
98-9B
9C-9F 
A0-BB
BC-BF
BC-BF
C0-FF 
C0-FF 
24
25
26
27  
 
28-2E  
 
 2F
30-3F
严重错误处理
绝对磁盘读功能
绝对磁盘写
驻留退出  
DOS保留
打印机
DOS保留
驻留退出  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保留
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
清除报警

你可能感兴趣的:(Masm)