1、关于中断向量的概念:
中断向量:即中断服务子程序的入口逻辑地址,由两部分组成:服务程序的段基址CS(2字节)和服务程序的偏移地址IP(2字节)。
中断向量表:存放中断向量的一个特定的内存区域,位于整个内存区域的最低端,物理地址范围从00000H~003FFH(一个中断向量占4字节的空间,因此256个中断一共需要1K字节的空间)。共256个中断,中断类型号从0~255。
中断类型号和中断向量地址之间的关系:
中断向量地址 = 中断类型号*4(即可找到中断向量地址,前两位送给偏移量后两位送给段基址)
2、流程图:
3、程序:
. . . 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