人工造字汇编程序.docxVIP

  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文档。上传文档
查看更多
人工造字汇编程序 题目重述: 程序设计要求: 在屏幕上开一个 16*16 的点阵,(每点由若干像素组成) 用鼠标左键起笔,用鼠标右键插除 在屏幕适当位置用正常大小显示所造之字 按某键保存所造之字及其输入码 按某键输入所造之字的输入码并在适当位置显示 编程思想简述: 程序所实现的功能 该汇编程序除了能使用鼠标左右键实现涂抹等基本功能之外,还有以下几个其他的功 能: 可以由用户自己定义编码, 用户可以根据自己的习惯和喜好, 输入所造字形的拼音或者是五 笔等等,也方便记忆。 如果用户对于不同的字形重复定义了编码, 程序可以及时地发现, 并且提示用户重新输入编 码。 由于完整地扫描了整个点阵, 所以可以任意缩放所造之字, 并且不会丢失任何信息, 但是出 于显示效果的考虑, 另外还有我们写字的工整性欠佳等方面, 本程序还是采用了完全还原所 写之字的方法。 矚慫润厲钐瘗睞枥庑赖賃軔。矚慫润厲钐瘗睞枥庑赖賃。 采用比较科学的文件记录格式, 所以能比较有效和快速的实现编码的匹配查找。 在程序的快 速和简洁方面有一定的改进。 聞創沟燴鐺險爱氇谴净祸測。聞創沟燴鐺險爱氇谴净祸。 程序流程图: C初始化程序,显示功能键、 (E)—edit (I) — input code (Q)— exit 等待键盘输入 检测鼠标状态,左键按下,则、右键按下,则将相应得 检测鼠标状态,左键按下,则、 右键按下,则将相应得8*8的 打开文件,按文件的记录格式、 将相应得8*8的矩阵区间涂抹矩阵区间涂抹成黑色挨个查找文件中的编码,并且成黑色与输入编码比较按键盘任意键启动字符保留\f将与输入编码相符合的图示、函数,提示用户输入所造之字信息读出,并且在屏幕适当的的编码 将相应得8*8的矩阵区间涂抹 矩阵区间涂抹成黑色 挨个查找文件中的编码,并且 成黑色 与输入编码比较 按键盘任意键启动字符保留\ f将与输入编码相符合的图示、 函数,提示用户输入所造之字 信息读出,并且在屏幕适当的 的编码 位置重绘。 £描矩阵方块,将图信息存储、 在一个32*32的矩阵里面,连 同编码一起存储在文件中 残骛楼諍锩瀨濟溆塹籟婭骤。残骛楼諍锩瀨濟溆塹籟婭。 遇到的主要问题及其解决办法 问题1、VGA图形卡的显示问题 由于以前没有碰到过这方面的问题,通过查找书籍 ,知道现在有两种解决方法: a,用BIOS的INT 10H的0C和0D功能。这种方法简单,只需要提供颜色和像素的行列数, 但是执行起来速度慢,性能低。 酽锕极額閉镇桧猪訣锥顧荭。酽锕极額閉镇桧猪訣锥顧。 b,直接控制显示适配器读写显存(在 VGA640*480,16色下,显存的始地址是 A000H)。这 种方法复杂,需要理解显示适配器的数据寄存器各字段的意义, 并且设置起来也复杂, 但是 程序速度快,可以实现复杂的程序。 彈贸摄尔霁毙攬砖卤庑诒尔。彈贸摄尔霁毙攬砖卤庑诒。 由于本程序的点阵是采用以 8*8的方块作为基本的图形单位,所以 使用方式b更加方便和 直接,况且还可以获得方式 b良好的性能,所以,本程序使用的是直接控制显示适配器读写 按E键进入造字程序 「按Q键退出汇编程序,回到1 *按I键进入查询显示程序,提 启动set_mode函数,绘出 DOS提示符界面 示用户输入所找之字的编码 32*32点阵,同时启动 init_mouse函数,激活鼠标 显存的方式謀荞抟箧飆鐸怼类蒋薔點鉍。謀荞抟箧飆鐸怼类蒋薔點。 问题2、读写文件的记录格式问题 由于点阵是32*32的组织格式,所以在记录图形信息的时候,这些信息量是比较大的,即使 采用每个点用一个 bit来记录(1-该点文白色,0-该点为黑色),记录整个图形也要 128byte, 这对于文件的查找等操作造成了很大的不方便。 所以在设计记录格式的时候, 我使用了下面 的 方 法 A B : A B : 1---10 位 C: 128位 厦礴恳蹒骈時盡继價骚卺癩。厦礴恳蹒骈時盡继價骚卺。 文件记录格式图示说明 A区 记录编码的个数,即随后的几个字节是表示字的编码 B区 记录相应的编码,编码的个数不能超过 10位 C区 把128byte的图形信息记录在里面 查找算法:在比较输入编码和文件中存在的编码是否重复的时候, 我们先读入A区的编码个 数,如果不相等,则将文件指针向后移动 (A+128)位,去读取下一个编码。 如果相等, 则将后面的A个编码读出来,然后和输入的编码进行比较,不相等的话则将文件读写指针向 后移动128个字节, 读取下一个编码。相等的话则将将位图信息读取出来, 然后显示在屏 幕上。这种方法能比较快速的实现文件的查找,从而大大提高程序的执行速度。 茕桢广鳓鯡选 块网羈泪镀齐。茕桢广鳓鯡选块网羈泪镀。 问题三:鼠标的初始化和相应状态的读取 通过相关的学习,知道下面的信息: 鼠

文档评论(0)

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

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

1亿VIP精品文档

相关文档