汇编钢琴发声与两只老虎程序.doc.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编钢琴发声与两只老虎程序.doc

燕山大学 课程设计报告 汇编与接口课设 学 院 信息科学与工程学院 年级专业 计算机科学 学生姓名 学号 指导教师 提交日期 2011/7/1 实验一 钢琴程序 实验目的 进行汇编语言程序设计应用的综合性训练。综合运用汇编语言循环程序和子程序编程方法,巩固提高汇编语言程序设计能力应用水平。 二.实验要求 按下数字键1-8发出哆来咪发嗖拉西多的声音,当按下 ctrl+c键时退出程序 三.设备与环境 PC兼容机、Windows操作系统、汇编程序masm5.0 四.实验分析 1.程序开始 先将查好的频率写入到数据段中,定义主程序,当用户从键盘输入时,先判断是否是结束键,如果是结束键则退出,如果不是,再判断是不是1-8之间的数字键,若不是,则跳转到出错处理部分;如果是,则去频率表中调出相应的频率,并进入到发音子程序中。 2.发音 PC系列机中,利用8254计数器2的输出,控制扬声器的发生音调,作为机器的报警信号或者伴音信号。计数器2的OUT端经过放大后接扬声器,OUT端还和8255A的B端口输出PB1相与。所以要使扬声器工作,要求8255A的PB1和PB0同时为1。 向43端口中写入计数器2控制字,在AX中设置初值为1234DCH,计数值=1234DCH/频率,然后先低后高向42端口写入计数值。之后将8255A的PB1和PB0修改为1并将原来的值保存在AH中,以便恢复。为了建立一个与处理器无关的时间延迟,利用硬件,通过监控端口61H的PB4,使PB4每15.08us触发一次,以产生一个固定不变的时间基准。Waitf子程序就是产生一个N*15.08us时间延迟的程序,在CX中放入663产生10ms时延,再向BX中放入100来产生1s的持续时间。 五.参考程序: stacks segment para stack ;定义堆栈stacks db 64 dup(stack...) stacks ends ;------------------------------------ dseg segment para data table dw 262 ;1 dw 294 ;2 dw 330 ;3 dw 349 ;4 dw 392 ;5 dw 440 ;6 dw 494 ;7 dw 523 ;8 dseg ends ;------------------------------------ cseg segment para code assume cs:cseg,ds:dseg,ss:stacks main proc far ;设置数据段的段地址 mov ax,dseg mov ds,ax new_note: mov ah,01h ;是否结束 int 21h cmp al,20h je exit mov bx,offset table cmp al,1 ;判断是否为1-8的数 jb new_note cmp al,8 ja new_note and ax,0fh shl ax,1 ;(ax-1)*2 字存储 sub ax,2 mov si,ax mov di,[bx][si] call soundf jmp new_note soundf proc near ;调用子程序 push ax push bx push cx push dx push di mov al,0b6h out 43h,al mov dx,12h ;设置方式控制字 mov ax,348Ch div di out 42h,al mov al,ah out 42h,a

文档评论(0)

seunk + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档