《微机原理与汇编》教学实习报告.docx
- 文档编号:7494536
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:8
- 大小:16.92KB
《微机原理与汇编》教学实习报告.docx
《《微机原理与汇编》教学实习报告.docx》由会员分享,可在线阅读,更多相关《《微机原理与汇编》教学实习报告.docx(8页珍藏版)》请在冰点文库上搜索。
《微机原理与汇编》教学实习报告
天津农学院
计算机科学与信息工程系
《微机原理与汇编》教学实习报告
实习名称:
用汇编语言实现音乐程序设计
专业:
班级:
学号:
姓名:
指导教师:
成绩:
2012年3月4日
1教学实习的内容………………………………………………2
2教学实习的目的………………………………………………2
3教学实习设计介绍……………………………………………2
3.1设计题目………………………………………………………2
3.2设计目标………………………………………………………2
3.3系统的主要功能………………………………………………2
3.4系统开发与调试过程…………………………………………2
3.4.1程序设计准备阶段…………………………………………2
3.4.2程序设计阶段………………………………………………2
3.4.3程序调试、测评、试运行阶段……………………………13
3.5技术要点介绍…………………………………………………14
4总结与体会……………………………………………………14
1教学实习的内容
综合运用学过汇编语言知识,设计一个音乐演奏程序。
从而学习综合程序的设计、编制及调试。
2教学实习的目的
通过实验能够较全面的巩固和应用课堂中所学的基本理论和程序设计方法,能够较熟练地完成汇编语言程序的设计、编制和调试。
3教学实习设计介绍
3.1设计题目
音乐演奏_乐曲演奏
3.2设计目标
编写一个音乐程序,要求:
按数字“1”,唱乐曲“玛丽有只小羔羊”;
按数字“2”,唱乐曲“太湖船”;
按数字“3”,唱乐曲“祝福歌”;
按数字“4”,唱乐曲“亚洲雄风”;
按"Q"鍵,退出。
3.3系统的主要功能
利用发声程序,可以编写演奏乐曲的程序。
乐曲是按照一定的高低、强弱和长短关系组成的音调,在一首乐曲中,每个音符的音高和音长与频率和节拍有关。
组成乐曲的每个音符的频率值和持续时间是乐曲程序发声所需要的两个数据。
本系统基于上述原理,根据音调与频率的关系,按照乐曲的曲谱将每个音符的频率和持续时间定义成两个数据表,然后依次取出表中的频率值和时间值,调用sounding程序用计算机扬声器唱歌曲。
3.4系统开发与调试过程
3.4.1程序设计准备阶段
为演奏的乐曲定义一个频率表和一个节拍时间表,在程序数据段中分别由MUS_FREG和MUS_TIME所指向的数组;
3.4.2程序设计阶段
stackSEGMENTstack
dw20Hdup(?
)
stackends
DATASEGMENT
msg1DB0DH,0AH,'WELCOMEYOUTOCOMEHERE!
$'
msg2DB0DH,0AH,'thisisamusicprogram!
$'
msg3DB0DH,0AH,'pleaseselect!
$'
msg4DB0DH,0AH,'INPUTERROR!
$'
msg5DB0DH,0AH,'PLEASEINPUTAGAIN!
$'
MUSLISTDB0DH,0AH,'1MUSIC1'
DB0DH,0AH,'2MUSIC2'
DB0DH,0AH,'3MUSIC3'
DB0DH,0AH,'4MUSIC4'
DB0DH,0AH,'QEXIT'
db0dh,0ah,'$'
MUS_FREG1DW330,294,262,294,3DUP(330)
DW3DUP(294),330,392,392
DW330,294,262,294,4DUP(330)
DW294,294,330,294,262,0
MUS_TIME1DW6DUP(25*8),50*8
DW2DUP(25*8,25*8,50*8)
DW12DUP(25*8),100*8
MUS_FREG2DW330,392,330,294,330,392,330,294,330
DW330,392,330,294,262,294,330,392,294
DW262,262,220,196,196,220,262,294,332,262,0
MUS_TIME2DW3DUP(50),25,25,50,25,25,100
DW2DUP(50,50,25,25),100
DW3DUP(50,25,25),100
MUS_FREG3DW262,262,294,262,349
DW330,262,262,294,262
DW392,349,262,262,523
DW440,349,262,262,466
DW466,440,262,392,349,0
MUS_TIME3DW50,50,100,100,100
DW100,100,50,50,100,100
DW100,100,100,50,50,100
DW100,100,100,100,100,50
DW50,100,100,100,100,100
MUS_FREG4DW262,196,262,294,330,262,262,392,262,330,294,262,294
DW262,196,262,294,330,262,262,440,262,330,294,262,294,392
DW262,196,262,294,330,262,262,392,262,330,294,262,294
DW262,196,262,294,330,262,220,262,440,392,392,392
DW392,262,392,392,349,349,330,262,392,262,294,330
DW392,523,392,392,440,440,392,349,330,262,294,294,262
DW392,392,392,262,440,392,392,349,392,330,262,392,262,294
DW392,392,392,262,392,440,440,440,392,349,330,262,294,294,262,0
MUS_TIME4DW50,25,25,18,7,25,25,25,25,25,18,7,100
DW50,25,25,18,7,50,25,25,25,25,18,7,25,75
DW50,25,25,18,7,50,25,25,25,25,18,7,100
DW50,25,25,18,7,75,25,25,13,25,12,100
DW50,25,25,13,12,75,25,25,25,18,7,100
DW50,25,25,13,12,50,13,12,25,25,25,13,112
DW25,25,13,37,13,25,62,25,25,25,25,25,13,62
DW25,25,13,37,13,25,12,25,13,12,25,25,25,13,112
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,ss:
stack
START:
MOVAX,DATA
MOVDS,AX
MOVDX,OFFSETmsg1
MOVAH,09
INT21H
MOVDX,OFFSETmsg2
MOVAH,09
INT21H
MOVDX,OFFSETmsg3
MOVAH,09
INT21H
movdx,offsetMUSLIST
movah,09
int21h;显示提示信息
movah,01h
int21h
;MOVDL,AL
CMPal,31H
JEMUSIC1
CMPal,32H
JEMUSIC2
CMPal,33H
JEMUSIC3
CMPal,34H
JEMUSIC4
CMPal,51H
JEEXIT;比较所选数
ERROR:
MOVDX,OFFSETmsg4
MOVAH,09
INT21H
MOVDX,OFFSETmsg5
MOVAH,09
INT21H
JMPSTART
EXIT:
JMPENDING
MUSIC1:
MOVSI,OFFSETMUS_FREG1
MOVBP,OFFSETMUS_TIME1
REPT1:
MOVDI,[SI]
CMPDI,0
JEENDING
MOVBX,DS:
[BP]
CALLSOUNDING
ADDSI,2
ADDBP,2
JMPREPT1
MUSIC2:
MOVSI,OFFSETMUS_FREG2
MOVBP,OFFSETMUS_TIME2
jmpREPT1
MUSIC3:
MOVSI,OFFSETMUS_FREG3
MOVBP,OFFSETMUS_TIME3
jmpREPT1
MUSIC4:
MOVSI,OFFSETMUS_FREG4
MOVBP,OFFSETMUS_TIME4
jmpREPT1
ENDING:
MOVAH,4CH
INT21H
SOUNDINGPROCNEAR
PUSHAX
PUSHBX
PUSHCX
PUSHDX
PUSHDI
MOVAL,0B6H
OUT43H,AL
MOVDX,12H
MOVAX,34DCH
DIVDI
OUT42H,AL
MOVAL,AH
OUT42H,AL
INAL,61H
MOVAH,AL
ORAL,3
OUT61H,AL
DELAY:
MOVCX,1000
DL10:
MOVDI,CX
MOVCX,2000
DL001:
LOOPDL001
MOVCX,DI
LOOPDL10
DECBX
JNZDELAY
MOVAL,AH
OUT61H,AL
POPDI
POPDX
POPCX
POPBX
POPAX
RET
SOUNDINGENDP
CODEENDS
ENDSTART
3.4.3程序调试、测评、试运行阶段
1.用记事本或EDIT编辑程序在磁盘上建立源程序。
2.源文件建立后,用MASM程序对源文件进行汇编,汇编后产生二进制的目标文件(OBJ文件)。
3.使用连接程序LINK把文件转换为可执行的EXE文件。
4.在建立了.EXE文件之后,就可以直接从DOS执行程序。
3.5技术要点介绍
这个程序的技术要点在于sounding子程序的运用和循环结构的设计,利用合适的延时使计算机扬声器发出音乐声。
4总结与体会
通过对这次音乐程序的设计,学会了如何应用汇编语言实现音乐发生程序的设计。
让我对音乐程序的编写涉及了的分支结构的设计,循环结构的设计,主子结构程序的设计以及DOS和BIOS常用功能调用的使用等诸多方面有所提高,从而更加地了解了汇编这门课程。
参考文献:
[1]李乃祥主编,《微机原理与汇编语言程序设计》(上册),天津:
南开大学出版社,2004年
[2]李乃祥主编,《微机原理与汇编语言程序设计》(下册),天津:
南开大学出版社,2007年
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机原理与汇编 微机 原理 汇编 教学 实习 报告