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

📄 中断.asm

📁 本程序是一个8254,8259的中断调用程序组,可以实现时钟的调用,中断时可以进行外部的处理.
💻 ASM
字号:
.model small
.data
keep21  db ?
keepa1  db ?
buf db 'waiting for a monment',0dh,0ah,'$'
.stack
.code
start:mov ax,@data
      mov ds,ax
      cli
      mov ah,35h
      mov al,0fh
      int 21h
      push bx
      push es
      push ds
      mov ax,seg  intproc
      mov ds,ax
      mov dx,offset intproc
      mov ah,25h
      mov al,0fh
      int 21h
      pop ds
      in al,21h
      mov keepa1,al
      and al,07fh
      out 0a1h,al
      and al,0f9h
      out 21h,al
      sti
      
      wait:
  int 0bh
  cmp bx,0001h
  jnb wait
  mov al,buf
  out 21h,al
  push ds
  push dx
  mov al,keep21
  mov ds,ax
  mov dl,keepa1
  mov ah,25h
  mov al,0bh
  int 21h
  pop dx
  pop ds
  mov ah,4ch
  int 21h

      mov al,keep21
      out 21h,al
      pop ds
      pop dx
      mov ah,25h
      mov al,0fh
      int 21h
      mov ah,4ch
      int 21h

      ;中断服务程序
intproc proc far
        sti
        push ax
        push bx
        push ds
        mov ax,@data
        mov ds,ax
        mov ax,@data
        mov ds,ax
        mov dx,offset buf
        mov ah,09h
        int 21h
        mov al,20h
        out 20h,al
        out 0a0h,al
        pop ds
        pop bx
        pop ax
        iret
intproc endp
end start
        

⌨️ 快捷键说明

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