汇编(中断向量的设置)

1、关于中断向量的概念:

中断向量:即中断服务子程序的入口逻辑地址,由两部分组成:服务程序的段基址CS(2字节)和服务程序的偏移地址IP(2字节)。

中断向量表:存放中断向量的一个特定的内存区域,位于整个内存区域的最低端,物理地址范围从00000H~003FFH(一个中断向量占4字节的空间,因此256个中断一共需要1K字节的空间)。共256个中断,中断类型号从0~255。

中断类型号和中断向量地址之间的关系:

中断向量地址 = 中断类型号*4(即可找到中断向量地址,前两位送给偏移量后两位送给段基址)

2、流程图:

3、程序:

设中断服务程序的入口地址标号为VINTSUB,中断类型号为10,中断向量的设置如下:

OFFSET是从地址标号中取出段偏移地址偏移地址IP

SEG是从地址标号中取出段基地址

.
.
.
MOV DX,OFFSET VINTSUB    ;取偏移地址 
PUSH DS    ;将 DS 寄存器数据推入堆栈,要再次得到 DS 的值的时候可以用 POP DS,即临时保存一下DS的值,这里起保护数据段的作用 
MOV AX,SEG VINTSUB    ;取段基址 
MOV DS,AX    ;置入段基地址    
MOV AL,10    ;中断类型号 
MOV AH,25H    ;调用功能号 
INT 21H    ;DOS功能调用
POP DS    ;恢 复 DS 中的数据
.
.
.
 
每个人都会有一段异常艰难的时光 。 生活的压力 , 工作的失意 , 学业的压力。 爱的惶惶不可终日。 挺过来的 ,人生就会豁然开朗。 挺不过来的 ,时间也会教你 ,怎么与它们握手言和 ,所以不必害怕的。 ——杨绛
原文地址:https://www.cnblogs.com/zhai1997/p/12089206.html