. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->外中断
主题 : :  各位有空啊,,帮我看看这程序,有关外中断的  [待解决] 回复[ 3次 ]   点击[ 271次 ]  
jackliu
[帖 主] [ 发表时间:2008-09-15 10:54 ] 
荣誉值:0
信誉值:1
注册日期:2008-09-05 11:19
各位有空啊,,帮我看看这程序,,, 
这程序主要用来搞键盘中断的,, 
程序运行作用是:当程序在以动画的形式慢慢的输出字符‘-’过程中可通过键盘中断,在任意时刻产生中断,之后在字符‘-’基础上加上中断产生的字符,如'-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
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved