各位有空啊,,帮我看看这程序,,,
这程序主要用来搞键盘中断的,,
程序运行作用是:当程序在以动画的形式慢慢的输出字符‘-’过程中可通过键盘中断,在任意时刻产生中断,之后在字符‘-’基础上加上中断产生的字符,如'-D‘这样输出,,,
但不知怎么写好,,程序中好像只接受一次中断而于,之后就无效,也就是说,如果先按个’D‘那之后按什么都无效了,,,
本人程序如下:
CODE SEGMENT
ASSUME CS:CODE
START: MOV AL,11111101B
OUT 21H,AL ;开键盘中断
STI ;允许外中断
MOV SI,16H
L1: MOV AH,02H
MOV DL,'-'
INT 21H
MOV BX,0FFFH ;延时作用
MOV CX,0FFFFH
TIME:LOOP TIME
DEC BX
JNZ TIME
MOV AH,01H ;读BIOS数据区中字符
INT 16H
CMP AL,'A'
JB PASS
MOV AH,02H ;输出BIOS数据区中字符
MOV DL, AL
INT 21H
PASS: DEC SI
JNZ L1
CLI ;屏蔽外中断
EXIT:MOV AH,4CH
INT 21H
CODE ENDS
END START |