《微机原理与汇编》教学实习报告.docx

上传人:b****3 文档编号:5343708 上传时间:2022-12-15 格式:DOCX 页数:8 大小:16.92KB
下载 相关 举报
《微机原理与汇编》教学实习报告.docx_第1页
第1页 / 共8页
《微机原理与汇编》教学实习报告.docx_第2页
第2页 / 共8页
《微机原理与汇编》教学实习报告.docx_第3页
第3页 / 共8页
《微机原理与汇编》教学实习报告.docx_第4页
第4页 / 共8页
《微机原理与汇编》教学实习报告.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

《微机原理与汇编》教学实习报告.docx

《《微机原理与汇编》教学实习报告.docx》由会员分享,可在线阅读,更多相关《《微机原理与汇编》教学实习报告.docx(8页珍藏版)》请在冰豆网上搜索。

《微机原理与汇编》教学实习报告.docx

《微机原理与汇编》教学实习报告

 

天津农学院

计算机科学与信息工程系

《微机原理与汇编》教学实习报告

 

实习名称:

用汇编语言实现音乐程序设计

专业:

班级:

学号:

姓名:

指导教师:

成绩:

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年

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1