您的位置:逆风者 汇编技术 正文
原作者:www.upwinder.com 添加时间:2007-09-02 原文发表:2007-08-31 人气:11 来源:未知

本文章共1974字,分2页,当前第1页,快速翻页:
 

学习任何一种艺术,只能从瞭解观念及熟练地运用工具、技巧上下功夫。至于个人的成就及表现,有待于不断地自我要求和探索,不是仅仅通过学习就可以轻易获得的。
组合程式的写作亦然,虽说尚有时、空效率的客观标准,但是一个功能复杂、应用广泛的程式,其价值的全面评估却非如此单纯。要言之,目前这种组合程式艺术仅在启蒙阶段,尚无成规可循,必须到大众都认识到其价值时,才会有定论。
逆@风@者
因此,我只能在此举一个例子,说明程式写作的观念,希望读者能够举一反三,灵活应用。

第一节主题认识

一、任务

兹假定有一任务,是要设计一些应用符号,其过程由编码到将符号绘制完成为止。这是一个实际且实用的例子,我利用仓颉码定义符号码,并以程式处理之,既精简,又快速。事实上,字形产生器就是利用类似原理设计的,在此特为参考。
这些应用符号,是用来画表格,要与文字混用,故将各种表格符号,分解成为文字字符,并予以定码。
首先考虑编码,在此,「编码」就是前面所说的「资料设计」。一种考虑周全的编码,在程式处理上,可以节省大量的时间和空间;对使用的人而言,循着一种规则,也可达到易记易用效果。
要达到上述目的,必须先瞭解一些相关的因素,只要把这些因素纳入考虑范围,且其结果能表现在所编的「码」中,上述的任务就达成了。
这些相关的因素是:
1,编码的限制:
仓颉码取一至五码,限用24个字母,此类符号也不能例外。要能与中文字同时输入,而且不能混淆,故不能与已存在的中文字码有重码的情况发生。

2,功能的需求:
假定要设计四种不同粗细的格子,且每种皆能相互配合。如:

┌┬┬┬┬┐┌┬┬┬┬┐

├┼┼┼┼┤├┤

├┼┼┼┼┤├┤

├┼┼┼┼┤├┤

├┼┼┼┼┤├┤

└┴┴┴┴┘└┴┴┴┴┘
图一
┌┬┬┬┬┐┌┬┬┬┬┐

├┤├┤

├┤├┤

├┤├┤

├┤├┤

└┴┴┴┴┘└┴┴┴┴┘

││││────
图二

二、分析

以上符号共有104种形状(后来我发现不敷应用,又加入一些图形)可以细分为四类,分别为:

横向,左右延伸,上下等距。
纵向,左右等距,上下延伸。
横向,或左或右,上下等距。
纵向,或上或下,左右等距。

由此可知,我们已经能够定出其规律:
1,只有纵向横向,皆连接于格子的中央点。
2,只有四个位置,即上、下、左、右。
这种归纳方法相当有用,因为我们发现了二进位的影子,正该加以利用。
先以四个位置来考虑,上下形即为纵向,左右形为横向,是个标准的二进位结构,如果以对角线来看,左、上,右、下又可以组成另一维二进位,可以各用一个位元来表示。我选用了四种粗细,以凑成四个位元。以一字元示意(x表与该性质无关的位元)如下:

凡属细点者:xxxxxxx0
凡属粗点者:xxxxxxx1
凡前述点不加粗:xxxxx0xx
凡前述点粗细加倍:xxxxx1xx
凡属于横向者:xxxxxx0x
凡属于纵向者:xxxxxx1x
凡属于左上者:xxxx0xxx
凡属于右下者:xxxx1xxx

以上各值用了四个位元,共有16种组合,若以码代表之,其组合数当视取码数而定。再参考图一,每种因素取一码,横、直、位置共有四种,结论是最多应取四码。
取四码虽然理想,但仓颉码的设计原本是为了全部六、七万个中文字,而文字的产生为约定俗成,不可能恰好有一连续空余的四码区段,可以安排表格码。
我在输入码的组合中,好不容易找到一区,即YYX码后,没有已存在的中文字,故此决定把表格码安排在此区。
仓颉码最多取五码,YYX已用去三码,仅余两码可用。
再看前面的分析,只有16种组合,而符号有24个之多。这种搭配很不理想,需要再加考虑。
需要取三、四码的,都是要贯穿格子中心的形状,如果再设几个贯穿格子的形状,也当作基本图形,则每个图形仅取两码即可。
到底我们要多少贯穿形呢?八个!(见图二)八加十六,恰恰好廿四个,完全符合我们前面所强调的精简法则。
这几种定义,实际上仅需将第五个位元设为一即可:
 

本文章更多内容1 - 2 - 下一页>>
相关文章

用汇编编写DOS下的内存驻留程序(2)
汇编语言的艺术(组合语言的艺术)--基本认
汇编语言---程式设计 (3)
汇编语言---程式设计 (2)
汇编语言的艺术(组合语言的艺术)--基本认
HELLO WORLD进阶汇编程序系列
分段管理机制
输入/输出保护
IDE的选择与配置
汇编语言中‘子程序’的设计方法
用汇编编写DOS下的内存驻留程序(4)
汇编语言的准备知识-给初次接触汇编者4
汇编语言的艺术(组合语言的艺术)--基本认
用汇编编写DOS下的内存驻留程序(5)
用汇编编写DOS下的内存驻留程序(3)
用汇编编写DOS下的内存驻留程序(1)
汇编语言的准备知识-给初次接触汇编者3
汇编语言超浓缩教程
汇编语言的准备知识--给初次接触汇编者(1)
TASM V5.0安装及注意事项

相关评论


本文章所属分类:首页 汇编技术

  热门关键字:
进制数据输出的通用程序 2007-09-12
汇编源码--showmem 2007-08-31
汇编源码--CLEAN 2007-08-31
汇编源码--hdr 2007-08-31
汇编源码--basload 2007-08-31
汇编源码--CHAR 2007-08-31
汇编源码--fxn 2007-08-31
汇编源码--alarm 2007-08-31
汇编源码--getsect 2007-08-31
汇编源码--DEV 2007-08-31
汇编源码--getspace 2007-08-31
汇编源码--frespace 2007-08-31
CIH文件型病毒检测消除程序 2007-08-31
Mixer Volume Ctrler V1.0 2007-08-31
汇编源码--COMINT 2007-08-31
自己用汇编语言写的一个病毒(源码... 2007-08-31
汇编源码--col 2007-08-31
汇编源码--BURNOUT 2007-08-31