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

📄 王华成(音乐模块).txt

📁 这是用汇编语言编写的推箱子课程设计
💻 TXT
字号:
;*****************************************************
;音乐数据段
;*****************************************************
MDATA_SEG     SEGMENT   PARA
;======================================================================================
mus_freq      DW        330,392,330,294,330,392,330,294,330		;定义频率
              DW        330,392,330,294,262,294,330,392,294
              DW        262,262,220,196,196,220,262,294,330,262
              DW        -1
mus_time      DW        3 DUP(500),250,250,500,250,250,1000		;定义延迟时间
              DW        2 DUP(500,500,250,250),1000
              DW        3 DUP(500,250,250),1000
;======================================================================================
MDATA_SEG     ENDS
;------------------------------------------------------------------------------------------------

beepit        PROC      NEAR          ; 定义意外事件声音
              MOV       DI,800		;定义声音频率
              MOV       BX,1000	;定义延迟时间
              CALL      beep		;调用频率子程序
              RET
beepit        ENDP	
;--------------------------------
beep          PROC      NEAR		;自定义频率子程序
              PUSH      AX
              PUSH      BX
              PUSH      CX
              PUSH      DX
              PUSH      DI

              MOV       AL,0b6h	;向43H端口送特定数初始化
              OUT       43h,AL
              MOV       DX,12h
              MOV       AX,533h*896
              DIV       DI
              OUT       42h,AL
              MOV       AL,AH
              OUT       42h,AL
              IN        AL,61h
              MOV       AH,AL
              OR        AL,3
              OUT       61h,AL
WAIT1:        MOV       CX,0ffffh
delay:        LOOP      delay
              DEC       BX
              JNZ       WAIT1
              MOV       AL,AH
              OUT       61h,AL
              
              POP       DI
              POP       DX
              POP       CX
              POP       BX
              POP       AX
              RET
beep          ENDP
;-------------------------------------------------------
music         PROC      NEAR		;音乐子程序
              MOV       DX,SEG mdata_seg
              MOV       DS,DX
              LEA       SI,mus_freq
              LEA       BP,DS: mus_time
freq:         MOV       DI,[SI]
              CMP       DI,-1
              JE        END_mus
              MOV       BX,DS:[BP]
              CALL      beep
              ADD       SI,2
              ADD       BP,2
              JMP       freq
END_mus:      
              RET      
music         ENDP

⌨️ 快捷键说明

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