




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、天津农学院计算机科学与信息工程系微机原理与汇编教学实习报告实习名称: 用汇编语言实现音乐程序设计 专 业: 计算机科学与技术专业 班 级: 2008级计算机科学与技术专业1班 学 号: 姓 名: 指导教师: 成 绩: 2011年1月4日目 录1 教学实习的内容 页码2 教学实习的目的 页码3 教学实习设计介绍 页码3.1 设计题目 页码3.2 设计目标 页码3.3 系统的主要功能 页码3.4 系统开发与调试过程 页码3.4.1 程序设计准备阶段 页码3.4.2 程序设计阶段 页码3.4.3 程序调试、测评、试运行阶段页码3.5 技术要点介绍 页码4 总结与体会 页码(要求:目录中不能出现4级标
2、题,宋体加粗,四号字,1.5倍行距。)(报告正文部分):(要求:正文部分一律用小四号字,宋体,1.5倍行距,首行缩进两个字符。一级大标题靠左,加粗。二、三、四级标题靠左,不加粗。)1 教学实习的内容综合运用学过的分支结构程序的编制方法,比较与转移指令,循环控制指令,主子结构程序的设计思想和方法,学习综合程序的设计、编制及调试。2 教学实习的目的配合微机原理与汇编语言程序设计的理论学习,通过系统的实践教学训练,培养独立分析问题和解决问题的能力,掌握汇编语言的编程和程序调试环境,锻炼一定的软硬件开发能力。3 教学实习设计介绍3.1 设计题目 音乐演奏_乐曲演奏3.2 设计目标编写一个音乐程序,要求
3、:按数字“1”,唱乐曲“玛丽有只小羔羊”;按数字“2”,唱乐曲“太湖船”;按数字“3”,唱乐曲 “祝福歌”;按数字“4”,唱乐曲 “亚洲雄风”;按"Q"鍵,退出。3.3 系统的主要功能利用发声程序,可以编写演奏乐曲的程序。乐曲是按照一定的高低、强弱和长短关系组成的音调,在一首乐曲中,每个音符的音高和音长与频率和节拍有关。组成乐曲的每个音符的频率值和持续时间是乐曲程序发声所需要的两个数据。本系统基于上述原理,根据音调与频率的关系,按照乐曲的曲谱将每个音符的频率和持续时间定义成两个数据表,然后依次取出表中的频率值和时间值,调用sounding程序用计算机扬声器唱歌曲。3.4 系
4、统开发与调试过程3.4.1 程序设计准备阶段为演奏的乐曲定义一个频率表和一个节拍时间表,在程序数据段中分别由MUS_FREG和MUS_TIME 所指向的数组;3.4.2 程序设计阶段stack SEGMENT stack dw 20H dup(?)stack ends DATA SEGMENTmsg1 DB 0DH,0AH,'WELCOME YOU TO COME HERE!$'msg2 DB 0DH,0AH,'this is a music program!$'msg3 DB 0DH,0AH,'please select!$'msg4 DB 0
5、DH,0AH,'INPUT ERROR!$'msg5 DB 0DH,0AH,'PLEASE INPUT AGAIN!$'MUSLIST DB 0DH,0AH,'1 MUSIC1' DB 0DH,0AH,'2 MUSIC2' DB 0DH,0AH,'3 MUSIC3' DB 0DH,0AH,'4 MUSIC4' DB 0DH,0AH,'Q EXIT' db 0dh,0ah,'$'MUS_FREG1 DW 330,294,262,294,3 DUP (330) DW 3
6、DUP (294),330,392,392 DW 330,294,262,294,4 DUP (330) DW 294,294,330,294,262,0MUS_TIME1 DW 6 DUP (25*8),50*8 DW 2 DUP (25*8,25*8,50*8) DW 12 DUP (25*8),100*8MUS_FREG2 DW 330,392,330,294,330,392,330,294,330 DW 330,392,330,294,262,294,330,392,294 DW 262,262,220,196,196,220,262,294,332,262,0MUS_TIME2 DW
7、 3 DUP(50),25,25,50,25,25,100 DW 2 DUP(50,50,25,25),100 DW 3 DUP(50,25,25),100MUS_FREG3 DW 262,262,294,262,349 DW 330,262,262,294,262 DW 392,349,262,262,523 DW 440,349,262,262,466 DW 466,440,262,392,349,0MUS_TIME3 DW 50,50,100,100,100 DW 100,100,50,50,100,100 DW 100,100,100,50,50,100 DW 100,100,100,
8、100,100,50 DW 50,100,100,100,100,100MUS_FREG4 DW 262,196,262,294,330,262,262,392,262,330,294,262,294 DW 262,196,262,294,330,262,262,440,262,330,294,262,294,392 DW 262,196,262,294,330,262,262,392,262,330,294,262,294 DW 262,196,262,294,330,262,220,262,440,392,392,392 DW 392,262,392,392,349,349,330,262
9、,392,262,294,330 DW 392,523,392,392,440,440,392,349,330,262,294,294,262 DW 392,392,392,262,440,392,392,349,392,330,262,392,262,294 DW 392,392,392,262,392,440,440,440,392,349,330,262,294,294,262,0MUS_TIME4 DW 50,25,25,18,7,25,25,25,25,25,18,7,100 DW 50,25,25,18,7,50,25,25,25,25,18,7,25,75 DW 50,25,25
10、,18,7,50,25,25,25,25,18,7,100 DW 50,25,25,18,7,75,25,25,13,25,12,100 DW 50,25,25,13,12,75,25,25,25,18,7,100 DW 50,25,25,13,12,50,13,12,25,25,25,13,112 DW 25,25,13,37,13,25,62,25,25,25,25,25,13,62 DW 25,25,13,37,13,25,12,25,13,12,25,25,25,13,112 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ss:stack
11、START:MOV AX,DATA MOV DS,AX MOV DX,OFFSET msg1 MOV AH,09 INT 21H MOV DX,OFFSET msg2 MOV AH,09 INT 21H MOV DX,OFFSET msg3 MOV AH,09 INT 21H mov dx,offset MUSLIST mov ah,09 int 21h ;显示提示信息 mov ah,01h int 21h ;MOV DL,AL CMP al,31H JE MUSIC1 CMP al,32H JE MUSIC2 CMP al,33H JE MUSIC3 CMP al,34H JE MUSIC4
12、 CMP al,51H JE EXIT ;比较所选数 ERROR: MOV DX,OFFSET msg4 MOV AH,09 INT 21H MOV DX,OFFSET msg5 MOV AH,09 INT 21H JMP START EXIT:JMP ENDING MUSIC1:MOV SI,OFFSET MUS_FREG1 MOV BP,OFFSET MUS_TIME1 REPT1 : MOV DI,SI CMP DI,0 JE ENDING MOV BX,DS:BP CALL SOUNDING ADD SI,2 ADD BP,2 JMP REPT1 MUSIC2:MOV SI,OFFSE
13、T MUS_FREG2 MOV BP,OFFSET MUS_TIME2 jmp REPT1 MUSIC3:MOV SI,OFFSET MUS_FREG3 MOV BP,OFFSET MUS_TIME3 jmp REPT1 MUSIC4:MOV SI,OFFSET MUS_FREG4 MOV BP,OFFSET MUS_TIME4 jmp REPT1 ENDING:MOV AH,4CH INT 21H SOUNDING PROC NEAR PUSH AX PUSH BX PUSH CX PUSH DX PUSH DI MOV AL,0B6H OUT 43H,AL MOV DX,12H MOV A
14、X,34DCH DIV DI OUT 42H,AL MOV AL,AH OUT 42H,AL IN AL,61H MOV AH,AL OR AL,3 OUT 61H,AL DELAY:MOV CX,1000 DL10:MOV DI,CX MOV CX,2000 DL001:LOOP DL001 MOV CX,DI LOOP DL10 DEC BX JNZ DELAY MOV AL,AH OUT 61H,AL POP DI POP DX POP CX POP BX POP AX RETSOUNDING ENDPCODE ENDS END START3.4.3 程序调试、测评、试运行阶段1.用记事本或EDIT编辑程序在磁盘上建立源程序。2.源文件建立后,用MASM程序对源文件进行汇编,汇编后产生二进制的目标文件(OBJ文件)。3.使用连接程序LINK把文件转换为可执行的EXE文件。4.在建立了.EXE文件之后,就可以直接从DOS执行程序。3.5 技术要点介绍这个程序的技术要点在于sounding子程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论