《汇编语言程序设计》课程设计报告明细表.docVIP

《汇编语言程序设计》课程设计报告明细表.doc

  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

《汇编语言程序设计》课程设计报告明细表 一、设计目的 二、设计环境与工具 三、设计任务 四、设计完成时间 五、程序设计算法说明 六、程序设计框图 七、源程序清单 八、运行结果 九、设计结果测试、分析、体会 产生机关枪声 1 设计目的 a.通过该课程设计,熟悉操作系统的功能调用; b.进一步了解汇编语言控制计算机硬件的方法; c.提高汇编语言应用程序的设计能力。 2 设计环境与工具 DOS操作系统、文本编辑器,masm、link、debug 3 设计任务 产生机关枪声,枪声时间可控,由键盘输入控制值,按“Q”键退出。 4 设计完成时间 2005年12月31日 5 程序设计算法说明 5.1 主程序设计 数据段说明: freq dw 90 ;存放枪声频率 col db 0 ; row db 0 time label byte ;接收用户输入的时间 t_max db 2 t_act db ? t_fld db 2 dup(?) key label byte ;存放用户输入的字符(a / q) k_max db 2 k_act db ? k_fld db 2 dup (?) 以下程序段用于设置屏幕大小及背景色: mov ah,00 ;320*200彩色屏幕 mov al,04 int 10h mov ah,0bh ;背景色 mov bh,00 mov bl,1 int 10h 枪声产生是调用gensound子程序,用循环结构,当用户输入期望产生的枪声次数后,实际产生的枪声次数为用户输入值的10倍: lea si,t_fld mov al,[si] ;取用户输入的枪声控制值 sub al,30h mov bl,10 mul bl ;乘以10 mov cl,al ;送给CX以控制循环次数 5.2 产生声音子程序的设计 在计算机中有一个可编程时间间隔定时器8253/54(programmable interval timer,PIT)_BEEP处理程序调用BEEP子程序,使扬声器发出“嘟嘟”的信号。BX中计数值由ERROR_BEEP程序设置为533H,然后BEEP程序又将8255的输出寄存器(I/O断口为61H)的PB0和PB1置1,使扬声器接通并发出音频为896Hz的声音。 实际上BEEP是一个很好的通用发声程序,可以利用并修改BEEP,使其产生任一频率的声音。此时要做两点修改:首先,BEEP程序只能产生896Hz的声音,通用发声程序应能产生任一频率的声音。其次,BEEP产生声音的持续时间(音长)只能是0.5s的倍数,而通用发声程序希望声音的持续时间更易于调整。 5.2.1 机关枪声音的频率 给计数器2装入计数值533H能产生896Hz的生音(1.1931MHz/896Hz=1331=533H)① 在8586/54中的43端口送入一个控制字0B6H),该控制字对定时器2进行初始化,使定时器2准备接受计数初值。 ②在8586/54中的42端口(Timer2)③把输出端口61H的0、))①不需要指定频率;②不需要对端口42和43送入数值;③不需要对端口61置数。因此仅需进行寄存器的保存和对延迟时间的设计。 5.4 清屏子程序的设计 5.4.1 控制光标 利用INT 10H的功能2设置光标位置。坐标位置的行号在DH寄存器中,列号设在DL中。如在320*200的显示方式中,坐标设在(0,0)是屏幕的左上角,(319,199)是屏幕的右下角。BH中包含被输出的页号,对单色显示器来说,页号总是0。 5.4.2 清屏 INT 10H功能6能使屏幕内容上卷指定的行,这个功能需要设置7个参数: AL=上卷行数 AL=0全屏幕为空白 BH=卷入行属性 CH=左上角行号 CL=左上角列号 DH=右下角行号 DL=右下角列号 该子程序多次调用,每当产生一串枪声之后都会调用该子程序。当AL=0时,实际完成的工作是清除屏幕的功能,它将按AL中的Blank字符(0)使指定的窗口为空白。 6 程序框图 7 源程序清单 dataseg segment mess1 db 40 dup(

文档评论(0)

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

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

1亿VIP精品文档

相关文档