中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
作者:
标题: 请教用PC喇叭发声问题 (转载) 上一主题 | 下一主题
ko20010214
版主




积分 7294
发帖 1628
注册 2002-10-16
状态 离线
『楼 主』:  请教用PC喇叭发声问题 (转载)

发信人: benky (梦的记忆), 信区: DOS 标 题: 请教用PC喇叭发声问题 (转载) 发信站: BBS 水木清华站 (Sun May 28 23:40:53 2000) 【 以下文字转载自 Programming 讨论区 】 【 原文由 benky 所发表 】 各位大虾,我在用汇编写一段用PC发声系统演奏一段乐曲,编译通过,也能运行? 但就是发不出声音来。请各位帮帮忙看一下。谢谢。 文章太长,请斑竹保留几天,我会自己删的。谢谢 ;******************************* TITLE GENSOUND--THE SPEAKER BEEPER ;PRODUCES A TONE OF A SPECIFIED FREQUENCY ; AND DRUATION PUBLIC GENSOUND public gensound cseg segment para 'code' assume cs:cseg gensound proc far push ax push bx push cx push dx push di mov al,0b6h out 43h,al mov dx,12h mov ax,533h*896 div di out 42h,al in al,61h mov ah,al or al,3 waitl: mov cx,2801 delay: loop delay dec bx jnz waitl mov al,ah out 61h,al pop di pop dx pop cx pop bx pop ax ret gensound endp cseg ends end ;******************************************** ;********************************************** TITLE MUSIC--A MUSIC OF 'MARY HAD A LITTLE LAMB' extrn gensound:far stack segment para stack'stack' db 64 dup('stack....') stack ends ;--------------------------- dseg segment para 'data' mus_freq dw 330,294,262,294,3 dup(330) dw 3 dup(294),330,392,392 dw 330,294,296,294,4 dup(330) dw 29,294,330,294,262,-1 mus_time dw 6 dup(25),50 dw 2 dup(25,25,50) dw 12 dup(25),100 dseg ends ;----------------------------- cseg segment para 'code' assume cs:cseg,ss:stack,ds:dseg music proc far start: push ds sub ax,ax push ax mov ax,dseg mov ds,ax mov ax,stack mov ss,ax lea si,mus_freq lea di,ds:mus_time freq_mus: mov di,[si] cmp di,-1 je exit mov bx,ds:[bp] call gensound add si,2 add bp,2 jmp freq_mus exit: ret music endp cseg ends end start -- ※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.116.30.234] (本文采用S-Term文章拷贝脚本拷贝) ==================================================




ko20010214 ================================= 大功告成,打个Kiss! ko20010214@MSN.com 神州优雅Q300C Intel CeleronM 370处理器 | 256MbDDR内存 40G硬盘 | USB2.0 | IEEE 1394 13.3 ' WXGA 宽屏(16:10) | COMBO光驱 10/100M网卡 | 四合一读卡器
2003-6-1 00:00
查看资料  发送邮件  发短消息  网志  OICQ (16959102)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: