⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zhongduan.txt

📁 实现一个中断处理程序
💻 TXT
字号:
.MODEL        SMALL  
.STACK  
.DATA  
       COUNT  DW        1  
         MSG  DB        'The bell is ring! ',0dH,0AH,'$'  
        BEEP  DB        14H,'$'  
.CODE  
        MAIN  PROC      FAR  
              MOV       AX,@DATA  
              MOV       DS,AX  
              MOV       AL,1CH  
              MOV       AH,35H  
              INT       21H  
              PUSH      DS  
              MOV       DX,OFFSET RING  ;取中断向量  
              MOV       AX,SEG RING  
              MOV       DS, AX  
              MOV       AL,1CH  
              MOV       AH,25H           ; 设置新的中断向量
              INT       21H  
              POP       DS  
              IN        AL,21H  
              AND       AL,11111110B  
              OUT       21H,AL   ; 设置中断屏蔽位,允许定时器中断
              STI                         ; 开中断 
              MOV       DI,2  
      DELAY  MOV       SI,3  
              DELAY1  DEC       DI      ;产生中断位置  
              JNZ       DELAY1               
              DEC       DI  
              JNZ       DELAY1  
              POP       DX  
              POP       DS  
              MOV       AL,1CH  
              MOV       AH,25H  
              INT       21H  
              MOV       AX,4C00H  
              INT       21H  
        MAIN  ENDP  
        RING  PROC      far 
              PUSH      DS  
              PUSH      AX  
              PUSH      CX  
              PUSH      DX  
              MOV       AX,@DATA  
              MOV       DS,AX  
              STI                     ; 开中断,允许更高级的中断
              DEC       COUNT  
              JNZ       EXIT  
              MOV       AH,2    
              MOV       DL,07H  
              INT       21H  
              MOV       DX ,OFFSET MSG  
              MOV       AH,09H  
              INT       21H             ;显示The bell is ring!
              MOV       DX,10  
              IN        AL,61H  
              AND       AL,0FCH  
      SOUND  XOR       AL,02  
              OUT       61H,AL  
              MOV       CX,1400H  
      WAIT1  LOOP      WAIT1  
              DEC       DX  
              JNE       SOUND             ;响铃
              MOV       COUNT ,364        ;364 20秒  
              CLI                          ;关中断
       exit     POP       DX  
              POP       CX  
              POP       AX  
              POP       DS  
              IRET  
        RING  ENDP  
              end     

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -