该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
QUIT:
CLI
PUSH AX
PUSH BX
MOV AX,0000H ;恢复INTR1原中断矢量
MOV ES,AX
MOV DI,INTR1_IVADD
MOV AX,IP_BAK1 ;恢复INTR1原中断处理程序入口偏移地址
MOV ES:[DI],AX
ADD DI,2
MOV AX,CS_BAK1
MOV ES:[DI],AX
MOV DI,INTR2_IVADD
MOV AX,IP_BAK2 ;恢复INTR2原中断处理程序入口偏移地址
MOV ES:[DI],AX
ADD DI,2
MOV AX,CS_BAK2
MOV ES:[DI],AX
MOV AL,IM_BAK ;恢复INTR原中断处理屏蔽寄存器的屏蔽字
OUT 21H,AL
STI
MOV AX,4C00H ;返回到DOS
INT 21H
POP BX
POP AX
MYISR1 PROC NEAR ;中断处理程序MYISR1
PUSH AX
MOV AX,DATA
MOV DS,AX
TEST FLAG,01H
JZ OVER
MOV AX,NUM
INC AX
MOV NUM,AX
OVER: IN AL,21H
MOV AL,20H
OUT 20H,AL
POP AX
IRET
MYISR1 ENDP
MYISR2 PROC NEAR ;中断处理程序MYISR2
PUSH CX
PUSH AX
PUSH DX
NOT FLAG
MOV AL,FLAG
POP DX
POP AX
POP CX
IRET
MYISR2 ENDP
WARNING PROC NEAR
PUSH AX
PUSH BX
PUSH CX
DMYISR2: MOV DX,MY8255_A
MOV AL,00011111B
OUT DX,AL
MOV DX,MY8255_B
MOV BX,OFFSET DTABLE
ADD BL,8
MOV AL,[BX]
OUT DX,AL
MOV DX,MY8255_A
MOV AL,00101111B
OUT DX,AL
MOV DX,MY8255_B
MOV BX,OFFSET DTABLE
ADD BL,8
MOV AL,[BX]
OUT DX,AL
MOV DX,MY8255_C
MOV AL,00100001B
OUT DX,AL
MOV AL,20H
OUT 20H,AL
TEST FLAG,01H
JZ DMYISR2
A:
POP CX
POP BX
POP AX
RET
WARNING ENDP
CODE ENDS
END START