汇编语言程序设计:音乐简谱播放

汇编语言程序设计:音乐简谱播放

ID:43687687

大小:73.00 KB

页数:13页

时间:2019-10-12

汇编语言程序设计:音乐简谱播放_第1页
汇编语言程序设计:音乐简谱播放_第2页
汇编语言程序设计:音乐简谱播放_第3页
汇编语言程序设计:音乐简谱播放_第4页
汇编语言程序设计:音乐简谱播放_第5页
资源描述:

《汇编语言程序设计:音乐简谱播放》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、汇编语言程序设计:音乐简谱播放汇编语言(AssemblyLanguage)是面向机器的程序设计语言。在汇编语言中,用助记符(Memoni)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址,如此就增强了程序的可读性并几降低了编写难度,象这样符号化的程序设计语言就是汇编语言,因此亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,还要由汇编程序或者叫汇编语言编译器转换成机器指令。汇编程序将符号化的操作代码组装成处理器可以识别的机器指令,这个组装的过程称为组合或者汇编。因此,有时候人们也把汇编语言称为组合语言。工具/原

2、料AssemblyLanguageMasm汇编编译器方法/步骤1、打开masm汇编编译程序,新建一个masm源文件脚本。DATASSEGMENT;此处输入数据段代码DATASSSTACKSSEGMENT;此处输入堆栈段代码STACKSSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AX;此处输入代码段代码MOVAH,4CHINT21HCODESSSTART2、在正文中输入我们的程序代码,并将文件命名为mul.asm;按键说明:;1、不输入任何数字,直接按回车键,可结束程序

3、,返回操作系统;2、每次最多能够输入N(本程序,N=8)个数字(1〜100);3、不足8位数字的,按冋车结束输入;本程序在MASMPlus1.2集成环境下通过编译,经过调试,运行正确。CodeSegmentAssumeCS:Code,DS:CodeCREQU000DHLFEQU000AH;功能:显示指定地址(Str_Addr)的字符串;入口:;Str_Addr=字符串地址(要求在数据段);用法:OutputStr_Addr;用法举例:OutputPromptStrOutputMACROStr.Addrleadx,Str_Addrmovah,9int21hEnd

4、M;功能:输出一个字符;入口:dl二要显示的字符Output_ChrprocNearpushaxmovah,02hint21hpopaxretOutput_Chrendp9一-;功能:输出回午换行Output_CTLFprocNearpushaxpushdxmovah,02hmovdl,Odhint21hmovdl,Oahint21hpopdxpopaxretOutput_CTLFendp■;Subroutine延时指定的时钟嘀嗒数;入口:;Didas二时钟嘀嗒数(1秒钟约嘀嗒18.2次,10秒钟嘀嗒182次。若延时不是秒的10数次倍,谋差稍微人点)Delay

5、ProcNearpushdxpushexxorax,axint1ahmovTimes,dxmovTimes[2J,cxRcad_Timc:xorax,axint1ahsubdx,Timessbbcx,Times[2]empdx,DidasjbRead_TimepopexpopdxretTimesdw0,0DelayEndP■;功能:从键盘输入N位数字;入口:N二数字位数;di二保存输入的数字首地址;出口:cx=实际接收的数字位数lnput_DigitProcNearcldmovcx,N@@Input:movah,1int21hempal,CRjz@@Retur

6、nempal,1jb@@Inputempal,8ja@©Inputstosbloop@@Input@@Return:movax,Nsubax,exxchgax,exretlnput_DigitEndP■;入口参数;SI=声音频率地址;ex二时间MusicProcNearinal,61hpushaxoral,3out61h,al;接通扬声器pushexpushdxpushsimoval,0b6hout43h,almovdx,12hmovax,348chdivwordptr[si]out42h,almoval,ahout42h,alinal,61hmovah,al

7、oral,3out61h,almovex,3314pushax@@Waitfl:inal,61handal,1Ohempal,ahjz@©Waitflmovah,alloop@@WaitflpopaxcallDelay;延时moval,ahout61h,al;关闭扬声器popsipopdxpopexpopaxout61h,alretMusicEndPDidasequ8;延时(时钟嘀嗒次数)frequencydw262,294,330,349,392,440,492,524;频率值;dw441,495,556,589,661,742,833;从其它音乐程序抄来的

8、频率值;dw882,990,1112,

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

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

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