STACK SEGMENT STACK
DB 256 DUP(0)
STACK ENDS
DATA SEGMENT
OUTB DB 0AH,0DH,"music:yue liang dai biao wo de xin",0AH,0DH,0ah,0dh
db " ^ ^ ^ ^ ",0ah,0dh
db " ^ ^ ^ ^ ",0ah,0dh
db " ^ ^ ^ ^ ",0ah,0dh
db " ^ ^ ^ ^ ",0ah,0dh
db " ^ ^ ",0ah,0dh
db " ^ ^ ",0ah,0dh
db " ^ ^ ",0ah,0dh
db " ^ ^ ",0ah,0dh
db " ^ ^ ",0ah,0dh
db " ^ ^ ",0ah,0dh
db " ^ ^ ",0ah,0dh
db " ^ ^ ",0ah,0dh
db " ^ ^ ",0ah,0dh
db " ^ ^ ",0ah,0dh
db " ^ ^ ",0ah,0dh
db " -- Du Tian Wei.",0ah,0dh
db " 2008.11.25",0ah,0dh
db 0ah,0dh,"$"
music dw 262,1,294,1,330,1,349,1,0,1,392,1,0,1,440,1,0,1,494,1,0,1,523,5
dw 0,4
dw 196,1
dw 262,3,330,1,392,3,262,1
dw 247,3,330,1,392,2,0,1,392,1
dw 440,1,494,2,523,3,440,1
dw 440,1,392,1,392,2,0,2,330,1,294,1
dw 262,3,262,1,262,2,330,1,294,1
dw 262,6,294,1,330,1
dw 294,2,262,1,220,2,294,1,330,1
dw 294,6,0,1,196,1
dw 294,2,220,1,247,1,262,1,294,1
dw 262,6,330,1,392,1
dw 247,6,220,1,247,1
dw 220,3,247,1,220,3,196,2
dw 330,6,392,2
dw 330,3,294,1,262,2,392,2
dw 247,6,220,1,247,1
dw 262,6,294,1,330,1
dw 294,6,0,1
dw 196,1
dw 262,3,330,1,392,3,262,1
dw 247,3,330,1,392,2,0,1,392,1
dw 440,1,494,2,523,3,440,1
dw 440,1,392,1,392,2,0,2,330,1,294,1
dw 262,3,262,1,262,2,330,1,294,1
dw 262,6,294,1,330,1
dw 294,3,220,1,247,2,262,1,294,1
dw 262,6,"$"
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS: DATA
START PROC FAR
push si
PUSH DS
MOV AX,0
PUSH AX
MOV AX,DATA
MOV DS,AX
;PROGRAM START !!!
;CALL WAITT;WAIT A MOMENT
MOV AH,09 ; PRINT
MOV DX,OFFSET OUTB
INT 21H ; PRINT
;jmp exit;text test
mov si , offset music
play: mov ax,ds:[si]
cmp ax,'$'
je exit
cmp ax,0
je jtime
CALL SOUND
jtime: inc si
inc si
mov ax,ds:[si]
call waittime
call endsound ; end sound
inc si
inc si
jmp play
exit: ret
START ENDP
waittime proc near
push cx
mov cx,ax
wloop:call waitt
loop wloop
pop cx
ret
waittime endp
SOUND PROC NEAR ;
push bx
push cx
push dx
mov bx,ax
mov al,10110110b
out 43h,al
mov dx,12h
mov ax,34dch
div bx
out 42h,al
mov al,ah
out 42h,al
in al,61h
or AL,03H
OUT 61H,AL
pop dx
pop cx
pop bx
RET
SOUND ENDP
endsound proc near
push ax
in al,61h
and al,11111100b
out 61h,al
pop ax
ret
endsound endp
WAITT PROC NEAR
push cx
push dx
mov ah,86h
mov cx,3 ;cx:dx
mov dx,0e78dh
int 15h
pop dx
pop cx
ret
WAITT ENDP
CODE ENDS
END START
分享到:
相关推荐
1 不同按键发出不同音调及组合音 2 逼真计算器位图窗体的实现 3 计算器的基本计算功能 4 无第三方控件
vb环境下利用PC喇叭播放声音的源代码
控制PC喇叭使其可以演奏音乐的控件(18KB)
一个使用PC喇叭演奏音乐的控件 (delphi源码)
程序源代码通过用8253和8255完成计算机PC喇叭的发声设计,用户可以通过1——9输入不同的乐谱,并通过回放键可以将已经输入的乐谱回放
PC内置喇叭发出声音(delphi)用于控制喇叭响声。
C#实现控制PC喇叭发声,挺好玩的,也可以学习学习
很好使的控制PC喇叭使其可以演奏音乐的控件
精彩编程与编程技巧-控制PC喇叭 ...
使用汇编控制PC机8253输出定时脉冲,通过喇叭发声的程序。与清华出版社的那本教材上的程序类似。
C#调用PC主板蜂鸣器小喇叭speaker发声beep。 不是拷贝XP的beep.sys实现,使用的是InpOut库,32位及64位均可使用。 我自己加了音符频率表,内附一首生日歌,类似于20年前DOS开发一样,使用蜂鸣器播放音乐,其它歌曲请...
DelphI控制PC内置喇叭发出声音..rar
用QASM编写的程序,可用TASM和MASM编译,能使主板的喇叭蜂鸣。
摘要:VB源码,多媒体技术,多媒体 VB利用PC喇叭播放声音,PC喇叭一般是指蜂鸣器,程序界面如示,点击窗口内的数字,机箱内的蜂鸣器就会发声,虽然不能模仿出人声,但至少每个数字对应的声音是不同的。
桌面右下角小喇叭 XP系统 sndvol32.exe 如果你的XP系统出现sndvol32.exe 程序丢失 或者错误 导致 没有声音 或者 小喇叭消失 可以下载此程序 放到去 system32下 解决
波纹喇波纹喇叭 章日荣
其中一个片段 protected void Play(Note tune) { if (tune.NoteTone == Tone.REST) //当没有选择RadioButton按钮时 Thread.Sleep((int)tune.NoteDuration); //将当前线程挂起指定的时间 ...
C 语言控制pc机器扬声器代码,已经调试成功了。
75-喇叭发声原理(51单片机C语言实例Proteus仿真和代码)75-喇叭发声原理(51单片机C语言实例Proteus仿真和代码)75-喇叭发声原理(51单片机C语言实例Proteus仿真和代码)75-喇叭发声原理(51单片机C语言实例Proteus仿真和...
利用vb建立hfss波纹喇叭,实现程序化建模