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

📄 利用intel8253通道2发出波形演自动奏音乐.txt

📁 利用Intel8253通道2发出波形演自动奏音乐 使用汇编语言编写
💻 TXT
字号:
cseg segment
     assume cs:cseg,ds:cseg
start:mov ax,cseg
      mov ds,ax
      mov dx,pareb
      in al,dx
      or al,3
      out dx,al
      mov si,offset clk2
      mov ax,word ptr [si]
      mov dx,word ptr [si+2]

      push dx
      push ax

      mov si,offset y11
      mov di,offset cz11
      mov cx,ynumb
countcz:
      pop ax
      pop dx
      push dx
      push ax
      
      mov bx,word ptr[si]
      div bx
      add si,2
      mov word ptr[di],ax
      add di,2
      loop countcz

      pop ax
      pop ax

      mov dx,ctr53
      mov al,10110110b

ag:   mov si,offset yjys
      mov dx,cann2
countinue:
      mov ax,word ptr[si]
      add si,2
      and ax,ax
      jz  ag
      cmp ax,0ffffh
      jz  stop
      mov di,offset cz11
      mov ch,ah
      mov ah,0
      shl  al,1
      add di,ax
      mov ax,word ptr[di]
      out dx,al
      mov al,ah
      out  dx,al

      mov ah,ch

      call delay
      jmp countinue
stop: mov dx,pareb
      in al,dx
      and al,11111100b
      out dx,al
      mov ax,4c00h
      int 21h
delay proc near
l0:   mov cx,2cd0H
l1:   push cx
      mov cx,0
l2:   loop l2
      pop cx
      loop l1
      dec ah
      jnz l0
      ret
delay endp
ctr53 equ 43h
cann2 equ 42h
pareb equ 61h

clk2 dd 1193182
ynumb equ 42

y11 dw 131,147,165,175,196,220,247
y12 dw 252,294,330,349,392,440,494

y21 dw 139,156,175,185,208,233,262
y22 dw 277,311,349,370,415,466,523

y31 dw 123,139,156,165,185,208,233
y32 dw 247,277,311,330,370,415,466

cz11 dw 7 dup(?)
cz12 dw 7 dup(?)
cz21 dw 7 dup(?)
cz22 dw 7 dup(?)
cz31 dw 7 dup(?)
cz32 dw 7 dup(?)

yjys dw 0204H,0104h,0105h,0201h,0100h,0100h,0105h,0201h,0104h,104h,105h,0107h,0105h,0104h,0100h
     dw 0100h,0105h,0201h,104h,0101h,0100h,0106h,0105h,0104h,010ch,0101h,0101h,102h,101h,100h
     dw 101h,100h,106h,105h,104h,0h,124h,125h,126h,127h,128h,129h,0000

cseg  ends
      end start


⌨️ 快捷键说明

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