分支结构实验报告

上传人:夏** 文档编号:493941179 上传时间:2023-06-06 格式:DOCX 页数:18 大小:152.70KB
返回 下载 相关 举报
分支结构实验报告_第1页
第1页 / 共18页
分支结构实验报告_第2页
第2页 / 共18页
分支结构实验报告_第3页
第3页 / 共18页
分支结构实验报告_第4页
第4页 / 共18页
分支结构实验报告_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《分支结构实验报告》由会员分享,可在线阅读,更多相关《分支结构实验报告(18页珍藏版)》请在金锄头文库上搜索。

1、天津大学汇编语言程序设计课程设计学 院:职业技术教育学院学号:3008212012姓 名: 黄立宁班级: 1指导教师:谢永超2010-4-26内容简介本程序为利用 q、w、e、r、t、y、u、1-7 作演奏音符制任意 音乐的程序。该程序能记录所演奏的音乐,能回放所演奏的音乐运行过程中,通过屏幕上显示的音符,输入一个不同的数发 出不同的音调,即制作出不同的音乐。每输入一数,屏幕上音符 及提示闪烁一次,当输入数为9 时,终止音乐的制作,将之前的 音乐存入堆栈中,随后送入端口地址,即演奏出刚刚制作的音乐成绩: 教师签字:目录开发环境1功能描述1系统功能结构框图 2程序代码3 运行结果11 课程设计体

2、会12 参考文献13题目:键盘控制发声程序 电子琴一、开发环境1硬件环境微型计算机一台2软件环境WindowsXP 操作系统使用工具 MASM 5.0,要进行汇编语言的编辑和运行,需要以下工作环境:编辑程序,如EDIT.EXE、WORD汇编程序,如MASM.EXE连接程序,如LINK.EXE调试程序,如DEBUG.EXE二、功能描述利用 q、 w、 e、 r、 t、 y、 u、 1-7 作演奏音符制任意音乐的程序。 该程序能记录所演奏的音乐,能回放所演奏的音乐。运行过程中,通过屏幕上显示的音符,输入一个不同的数发出不 同的音调,即制作出不同的音乐。每输入一数,屏幕上音符及提示闪 烁一次,当输入

3、数为9 时,终止音乐的制作,将之前的音乐存入堆栈 中,随后送入端口地址,即演奏出刚刚制作的音乐。三、系统功能结构图续上图):四、程序代码;利用 q、w、e、r、t、y、u、1-7 演奏音符的程序,能记录所演奏的 音乐,能回放所演奏的音乐 *1* vt* vt* vt* vt* vt* vt* vt* vt* vt* vt* vt* vt* vt* *X* vt* vt* vt* vt* vt* vt* vt* *X* vt* vt* vt* vt* vt* vt* vt* *X* vt* vt* vt* vt* vt* vt* vt* *X* vt* vt* vt* vt* vt* vt* v

4、t* *X* vt* vt* vt* vt* vt* vt* vt* *1* *1*1*T* *T* *T* T* *T* *T* *T* *T* *T* *T* *T* *T* *T* *T* *T* *T* *T* *T* *T* *T* *T* *T* *T* *T* *T* *T* *T* *T* *T* *T* *T* *T* *T* *T* *T* *T* *T*T* *T* T*T* *T* *T* *T* *T* *T* *T* *T*T*DATA SEGMENTmsg DB 0DH,0AH, 1 2 3 4 5 6 7 q w e r t y u DB 0DH,0AH,DB

5、0DH,0AH,DB 0DH,0AH,DB 0DH,0AH,DB 0DH,0AH,DB 0DH,0AH, *DB 0DH,0AH, NOTICEDB 0DH,0AH, Press 1-7 to make music and play it.DB0DH,0AH,Press 9 to interrupt.DB0DH,0AH,*,$; 音调(后面用到-1 判断音乐播是否放完)sound_0DW-1sound_11DW441,-1sound_12DW495,-1sound_13DW556,-1sound_14DW589,-1sound_15DW661,-1sound_16DW742,-1sound_1

6、7DW833,-1sound_1DW882,-1sound_2DW990,-1sound_3DW1112,-1sound_4DW1178,-1sound_5DW1322,-1sound_6DW1484,-1sound_7DW1655,-1timeDW25DATA ENDS*L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L*

7、*L* *L* *L* *L* *L* *L* *L*STACK SEGMENTDb 200 DUP (STACK);将音符放入堆栈中STACK ENDS*L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L*CODE SEGMENTASSUME DS:DATA,SS:ST

8、ACK,CS:CODE;段说明START:MOV AX,DATAMOV DS,AXMOV aH,00;初始化显示方式MOV AL,00INT 10H定义一个显示宏SHOW MACRO bLEA DX,bMOV AH,9;将以 $ 结尾的字符串显示在屏幕上,并将入口参数字符串的首地址的段基址和偏移地址分别放入DS和DX中INT 21HENDM定义一个声音宏onesound macro soundis,jumpis,letterisCMP AL,letterisJNZ jumpisLEA SI,soundisLEA BP,DS:timeCALL MUSICJMP inputENDMshow msg

9、;显示音符和提示INPUT: MOV AH,01HINT 21H;从键盘输入一个字符并显示CMP AL,9jnz gomov ah,4ch;若输入 9 则返回 DOS ,终止制作音乐int 21hgo:onesound sound_11,a0,qa0:onesound sound_12,b0,wb0:onesound sound_13,c0,ec0:onesound sound_14,d0,rd0:onesound sound_15,e0,te0:onesound sound_16,f0,yf0:onesound sound_17,g0,ug0:onesound sound_1,h0,1h0:

10、onesound sound_2,i0,2i0:onesound sound_3,j0,3j0:onesound sound_4,k0,4k0:onesound sound_5,l0,5l0:onesound sound_6,m0,6m0:onesound sound_7,n0,7n0:onesound sound_0,o0,alo0:jmp input发声(将堆栈中的音符数据送到端口地址)GENSOUND PROC NEARPUSH AXPUSH BXPUSH CXPUSH DXPUSH DI;时间间隔定时器(计数器 2 的初始化过程)MOV AL,0B6HOUT 43H,ALMOV DX,

11、12HMOV AX,348chDIV DIOUT 42H,ALMOV AL,AHOUT 42H,ALIN AL,61HMOV AH,ALOR AL,3OUT 61H,ALWAIT1: MOV CX,3314call waitfDELAY1: DEC BXJNZ WAIT1MOV AL,AHOUT 61H,ALPOP DI;给公用的控制寄存器(地址为43H)赋值; 频率除数;扬声器驱动(61H为输出寄存器分配I/O端口号); 打开扬声器; 等待下一音符的到来; 声音的延迟; 关闭扬声器POP DXPOP CXPOP BXPOP AXRETGENSOUND ENDP *L* *L* *L* *L*

12、 *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L*waitf proc nearpush axwaitf1:in al,61hand al,10hcmp al,ahje waitf1mov ah,alloop waitf1 ;CX=0 时退出循环,继续键入音符制作音乐pop axretwaitf endp *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L*

13、 *L* *L* *L* *L*MUSIC PROC NEARPUSH DSSUB AX,AXPUSH AXFREG: MOV DI,SICMP DI,-1;音乐是否放完JE END_MUSMOV BX,DS:BP;将音符放入堆栈CALL GENSOUND;调发声子程序ADD SI,2ADD BP,2JMP FREGEND_MUS:RETMUSIC ENDPCODE ENDS*L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L* *L*END START五、运行结果图 1 生成 OBJ 文件 File Dir 91X050Direcof D:050Uolume in driue D has no labe1. Uolume Serial Number is 0003-A28622888072165604433303442210121772220777100211111211110015174519991084308453521962197774

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号