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