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 中的數據 . . .