8088系统采用中断方式的程序结构
STACK SEGMENT ' STACK '
DW 100H DUP(?)
STACK ENDS
DATA SEGMENT
INT_SEG DW ? ;保存中断向量段地址
INT_OFF DW ? ;保存中断向量偏移地址
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE ,DS:DATA ,SS:STACK
START PROC FAR
PUSH DS
XOR AX ,AX
PUSH AX
MOV AX ,DATA
MOV DS ,AX
MOV AL ,n ;指定类型号为n
MOV AH ,35H
INT 21H ;取中断向量送到ES:BX
MOV INT_SEG ,ES
MOV INT_OFF ,BX ;保护ES:BX
CLI ;设置中断向量必须关中断
MOV AL ,n
MOV AH ,25H ;重新设置n
MOV DX ,SEG INTP
MOV DS ,DX
MOV DX OFFSET INTP ;将INTP设置在n上
INT 21H
STI ;设置完毕后打开中断
…… ;主体程序
CLI ;恢复中断向量前必须关中断
MOV AL ,n
MOV AH ,25H
MOV DX ,INT_SEG
MOV DS ,DX
MOV DX ,INT_OFF
INT 21H ;恢复原中断向量
RET
START ENDP