欢迎来到天天文库
浏览记录
ID:15647108
大小:107.00 KB
页数:9页
时间:2018-08-04
《2012 汇编语言程序设计大型作业题目》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2012汇编语言程序设计大型作业题目一、作业题目2012年汇编语言程序设计大型作业给出了4道题目,供大家凭自己的兴趣自由选择其中之一完成。这4道作业题目如下:1.代码统计程序(WIN32ASM编程)2.文件压缩程序3.网页文本抽取程序4.位图图像转文本图画程序本汇编语言程序设计大型作业题目可以在汇编网站中选择进入“汇编语言教学网站->资料下载”下载。我们会在该网站论坛上答疑,以帮助大家更好的完成这次程序设计大型作业。二、交付的文档材料1.程序系统说明书内容包括:(1)程序系统总体的功能模块调用图及模块功能说明。(2)程序系统的详细框图(每个子程序的流程图)。(3)程序界面图。(4)程
2、序清单。2.设计和实现的技术特点、不足和改进的建议3.课程设计的体会。4.程序源程序和可执行程序三、评分说明独立完成:60分,雷同或抄袭者不及格;设计技术及技巧使用:25分;文档质量:10分;按时完成:5分。可以自主扩充功能,有创新加分。四、参考书1.课本2.《IBM-PC汇编语言程序设计》清华大学出版社五、交付时间:课表安排上机时间结束后的10天内。题目一代码统计程序一、题目要求对C、汇编源程序进行代码统计程序功能:程序的基本界面是一个文本编辑器,能够打开C、ASM等源代码文件,至少给出注释行数、源代码行数等统计信息,其他可统计的信息包括函数(子程序)数量等。二、重点考察1.WIN
3、32汇编程序编写。2.用汇编实现简单的算法。3.用汇编实现简单的数据结构。4.综合解决问题的能力。题目二文件压缩程序对给定的文本文件进行压缩和解压程序功能:1.压缩(5个命令行参数)Compressc输入文件名输出文件名startstep将输入文件压缩为输出文件。Start,step意义见下面。2.解压(3个命令行参数)上面生成的压缩的输入文件解解压缩到输出文件,如果不是上面压缩的格式(根据文件特征识别),报错。压缩算法可以自行选择,如简单的行程编码,下面介绍一种一元前缀编码供参考:一元编码可以对整数序列进行编码。非负整数n的一元编码(unarycode)定义为n-1个1后跟一个0(
4、表1)。还可以定义通用的一元编码,也叫做“开始-步长”(start-step)码。这种编码取决于一个整参数二元组(start-step),定义如下:对数据字符进行编码的第n个码字由n个1后跟一个0再加上所有的a位码组成,其中a=start+nstep。表2和表3分别给出了(3,2)的编码格式和(2,1)的编码格式。表1一元前缀前缀长度n前缀10210311041110511110表2通用一元编码(3,2)前缀长度n数据位长度a=3+n2第n个编码格式xxx是实际数据码字数整数的范围130xxx23=80-72510xxxxx25=328-3937110xxxxxxx27=12840-
5、167491110xxxxxxxxx29=512168-679…………………………表3通用一元编码(2,1)na=3+n2第n个码字码字数整数的范围020xx40-31310xxx84-1124110xxxx1612-27351110xxxxx3228-59……………81011111111xxxxxxxxxx10241020-2043…………………………以通用一元编码(3,2)为例0-7内的整数,采用1位前缀,3位编码,格式为0xxx3的二进制为011,编码为0011,5的二进制为101,编码为01018-39内的整数d,采用2位前缀,5位编码,格式为10xxx编码方法为将(d-8)
6、转换为5位二进制数,前面加上前缀10,例如:8编码为:1000000,9编码为1000001,39编码为101111140-167内的整数d,采用3位前缀,5位编码,格式为110xxx编码方法为将(d-40)转换为7位二进制数,前面加上前缀110,例如:40编码为1100000000,41编码为1100000001,167编码为1101111111压缩的时候,从头到尾读取原始文件,一次处理2个字节或者4个字节,将其转换为16位或者32位整数,然后对于整数进行编码,将编码后的二进制码按照位流的形式输出到压缩文件中:例如:以2个字节为单位编码原始文件(16进制):000007000900
7、2800编码(2进制):0000011110000011100000000每8位组成压缩文件的一个字节,不够的位用随便的数补齐0000011110000011100000000???????于是原来的8个字节压缩为4个字节。Start和step也应该保存在压缩文件中。解压缩的时候,先从输入文件中读出start和step,将输入文件看成是位流,如果第一位是0,说明后面3位是数据,取出解压为2个字节,再读取前缀,如果第一位是1,向后找到第一个0为止,由此,可以
此文档下载收益归作者所有