网站大量收购独家精品文档,联系QQ:2885784924

字符图形程序的设计与实现.docVIP

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
目录 1 设计内容及要求……………………………………………1 1.1 设计内容……………………………………………………………1 1.2 设计要求……………………………………………………………1 2 设计…………………………………………………………1 2.1 设计原理……………………………………………………………1 2.2 详细设计…………………………………………………………..2 2.2.1 模块层次图……………………………………………………………………….2 2.2.2 各模块说明……………………………………………………………………….2 2.3 程序流程图…………………………………………………………2 2.4主要说明…………………………………………………………….4 3 测试及评估…………………………………………………4 3.1 测试结果……………………………………………………………4 3.2 程序的改进空间……………………………………………………7 4 心得体会……………………………………………………7 5 参考资料……………………………………………………8 附录……………………………………………………………9 字符图形程序的设计与实现 1 设计内容及要求: 1.1 设计内容: (1) 制作一个图形元素表,表中将所需的各种字符图形编上号码,并用存储器映射法将其显示在屏幕的左上部分。 (2) 将光标定位在屏幕的右半部分画图区,上、下、左、右光标控制键控制光标在四个方向的移动,不显示其轨迹,同时要控制光标位置不超出画图区的边界。 (3) 当按动某一数字键时,在光标位置处显示出相应编号的字符图形,然后移动光标,再显示下一个图形,最后绘出一幅有字符组成的图形。 (4) 按动ESC键,退出程序,返回DOS。 1.2 设计要求: 本次设计的目的主要是为了让大家进一步的学会汇编程序的编译,链接,执行操作。深入了解利用汇编指令是如何实现对存储器及寄存器访问的,并在此基础上学会用汇编指令、伪指令、BIOS中断调用、DOS中断调用及子程序等实现相应的功能。字符图形程序设计的重点在于加强学生对BIOS中断10的学习,了解该中断的相应功能,感受中断调用给汇编程序带来的方便。 通过编写汇编语言,实现字符图形的显示,让学生加深了对汇编程序理论课程的理解,更加了解汇编语言的应用,并且能够按要求编写程序,从而提高学生的汇编语言知识,更进一步地了解了汇编语言,通过本次设计,可以让学生深刻体会到中断调用的功能。 2 设计: 2.1 设计原理: 本程序是显示由多个字符组成的图形的程序,需要将多个字符定义在一个字符图形表里。字符图形表包括每个字符的ASCⅡ码、属性以及在显示图形中的相对位移量(相对位移量是指前一个字符和当前要显示的字符之间的行距和列距)四个参数组成。 字符图形表中的第一个字节“89”是组成图形的字符数,编写程序需要将每个字符的ASCⅡ码和属性以及显示的位置放入相应的寄存器中,然后发出显示命令,当89个字符都显示出来后,我们就可以看到两个“字”的图形。 为了清晰地看到每一个字,需要延时,程序中编写了延时子程序。此外,程序中还有清屏子程序和移动子程序,通过适当改变延时时间,甚至可以实现图形的移动。 2.2 详细设计: 2.2.1模块层次图: 2.2.2 各模块说明: 输入 功能为从键盘读字符。调用参数AH=功能类型。返回参数AL=输入字符的ASCII码,AH=输入字符的扫描码。 显示 功能在DOS文本方式显示字符。使用DOS显示中断(INT 10H),调用参数AH=功能类型,BH=显示的页号,AL=要显示的字符,BL=显示字符的属性(颜色等),CX=字符的重复次数。无返回参数。 清屏 功能为清除屏幕内的内容。调用参数AH=功能类型,AL=0初始化窗口,BH=卷入行属性,CH/CL=要清屏区域左上角的行/列号,DH/DL=要清屏区域右下角的行/列号。无返回参数。 2.3 程序流程图: 2.4主要说明: 数据类型的定义和说明: data segment array1 db 0,1,2,3,4,5,6,7,8,9 row db 0 col db 0 color db 0fh array2 db please pay attention:press ESC to exit press del to clear screen,$ array3 db CHARACTER:,$ array4 db COLOR:,$ data ends 函数说明: Start函数 输入 数字表示的函数 显示颜色 Up之类的函数 改变方向 Draw函数 开始画图 Reset函数

文档评论(0)

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

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

1亿VIP精品文档

相关文档