简易电子音乐播放器(微机课设)

简易电子音乐播放器(微机课设)

ID:9079221

大小:9.93 KB

页数:8页

时间:2018-04-16

简易电子音乐播放器(微机课设)_第1页
简易电子音乐播放器(微机课设)_第2页
简易电子音乐播放器(微机课设)_第3页
简易电子音乐播放器(微机课设)_第4页
简易电子音乐播放器(微机课设)_第5页
资源描述:

《简易电子音乐播放器(微机课设)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、;这是微机课程设计《简易电子音乐播放器》的代码,仅供参考(原谅我的五音不全o(╯□╰)o,不过超级玛丽音乐确实高难度);要求如下:;简易电子音乐播放程序设计;1任务编写一个简易电子音乐播放程序。;2基本要求;1将存储于内存中的音乐数据播出(格式自定义)。;2能够播出21个音阶(低音1~7、中音1~7、高音1~7)。;3扩展要求;1可以播出长短音(分长音、中音、短音)。;2可从文件中读音乐数据(格式自定义)。;////////////////////////////数据段/////////////

2、///////////////DATASEGMENTMSGSHOW1DB0DH,0AH,0DH,0AH;DEFINEBYTEODH,回车,OAH,换行MSGSHOW2DB0DH,0AH,'Thelistofthesongsis:';显示列表DB0DH,0AH,'1---supermario'DB0DH,0AH,'2---twolittletigers'DB0DH,0AH,'q---quit'DB0DH,0AH,'pleasechoosetheoption:$'MSGSHOW3DB0DH,0AH,

3、'somethingwrongwithyourinput!$';ERRORINPUTMSGSHOW4DB0DH,0AH,'continue:$';继续选择MSGSHOW5DB0DH,0AH,'nowthesongisplaying,enjoyyourself!$';正在播放MUSIC_FREQ1DW330,330,330,262,330,393,196;频率表DW262,196,165,221DW248,248,221,196,330,350,393,350,393DW330,262,294,2

4、48,262,196DW165,221,248,248,221,196,330,-1;-1作为结尾判断标示MUSIC_TIME1DW2,2,2,1,1,4,4;节拍表DW2,2,4,4DW2,1,2,2,2,1,1,1,1DW2,1,1,2,4,2DW2,2,1,1,2,1,2MUSIC_FREQ2DW262,294,330,262,262,294,330,262DW330,350,393,330,350,393DW393,441,393,354,330,262,393,441,393,354,

5、330,262DW294,221,262,294,221,-1MUSIC_TIME2DW8DUP(2);dup是重复定义指令,即重复定义8个2DW6DUP(2)DW2DUP(1,1,1,1,2,2)DW6DUP(2)DATAENDS;////////////////////////////////////代码段//////////////////CODESEGMENTSTARTPROCFAR;程序起点ASSUMECS:CODE,DS:DATA;段说明,自己定义的CODE对应代码段,DATA对应数

6、据段MOVAX,DATA;初始化,将段基址装入寄存器MOVDS,AXSHOWMACROM;定义宏用于显示字符串LEADX,M;LEA 取有效地址MOVAH,09H;显示字符串INT21HENDMSHOWMSGSHOW1                   ;显示换行回车INPUT:MOVAH,01H;DOS功能调用,从键盘输入INT21HCMPAL,'q';是否退出JZQUIT                     CMPAL,'1';是否是1JNZNODE1;不是1则调转,再判断是否是2CA

7、LLMUSIC1;是1则播放音乐1JMPNODE3;音乐播放完后显示继续NODE1:CMPAL,'2';是否是2JNZNODE2;不是2则调转,显示错误信息CALLMUSIC2;是2则播放音乐2JMPNODE3;音乐播放完后显示继续NODE2:SHOWMSGSHOW3;显示错误信息SOMETHINGWRONGWITHYOURINPUT!SHOWMSGSHOW4;显示继续JMPINPUT;调转回输入NODE3:SHOWMSGSHOW4;显示继续JMPINPUT;调转回输入QUIT:MOVAH,4C

8、H;退出INT21HSTARTENDP;主程序结束MUSIC1PROCNEAR;内存音乐1,测试音乐PUSHDS;保护现场PUSHAXLEASI,MUSIC_FREQ1;取得音乐1频率有效地址LEABP,DS:MUSIC_TIME1;取得音乐1持续时间有效地址SHOWMSGSHOW5;显示正在播放NODE4:MOVDI,[SI];将频率值一一赋给DICMPDI,-1;检测是否音乐结束JZEND_MUSIC;音乐结束则进行结束处理MOVBX,DS:[BP];音乐未结束则去相应的持续时间值CALLS

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。