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

📄 1.asm

📁 编写一个中断程序
💻 ASM
字号:
code segment
main proc far
    assume cs:code,ds:code
 start: push ds
        sub ax,ax
        push ax

        mov ax,code
        mov ds,ax


        mov al,1ch
        mov ah,35h
        int 21h
        push es
        push bx
        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,2000
 delay: mov si,3000
delay1: dec si
        jnz delay1
        dec di
        jnz delay



        mov ah,31h
        mov al,0
        mov dx,((prog_len+15)/16)+16
        int  21h
  main  endp





ring proc near
        push ds
        push ax
        push cx
        push dx

        mov ax,code
        mov ds,ax

        sti

        mov ax,0b800h
        mov es,ax

        dec count
        jnz exit

        

        mov bx,cur
        mov byte ptr es:[bx],'0'
        add cur,2


        mov dx,100
        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,18

   exit:
         cli
         pop dx
         pop cx
         pop ax
         pop ds
         iret
   ring  endp



   count  dw  1
   cur    dw  0
   prog_len equ $-main
code ends
end  start

⌨️ 快捷键说明

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