源代码:
DATA SEGMENT
INTNO EQU 1CH
OLDISR DW ?,?
TIMER DW 60
COUNTER DB 0
ISDONE DB 0
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START:
MOV AX,DATA
MOV DS,AX
MOV AX,0
MOV ES,AX
CLI
MOV AX,ES:[4*INTNO]
MOV OLDISR[0],AX
MOV AX,ES:[4*INTNO+2]
MOV OLDISR[2],AX
STI
CLI
MOV AX,OFFSET ISR
MOV ES:[INTNO*4], AX
MOV AX,SEG ISR
MOV ES:[INTNO*4+2],AX
STI
AGAIN:
CMP TIMER,0
JGE AGAIN
EXIT:
CLI
MOV AX,OLDISR[0]
MOV ES:[4*INTNO],AX
MOV AX,OLDISR[2]
MOV ES:[4*INTNO+2],AX
STI
MOV AH,4CH