组合语言之艺术
第四节 统一格式

一、格式统一之优点

    不论采用何种程序语言,凡是共同工作、须相互研讨,或者在同一部门中,分担成
败责任者,应该有统一的程序写作方式。这样不仅便于沟通,提高程序的品质,且可避
免因某一程序员之离职或出缺所造成的后遗症。
    良好的程序,应如一篇美妙的文学作品,其中有技巧,有意境。其功能不仅表现在
执行的效率上,也可以作为同行间学习、欣赏的媒介,这些都必须透过统一的格式达成。
    尤其是把组合程序写作当作一种艺术创作,就必须经常相互观摩,如果没有共通的
格式规定,则这样的程序和「天书」可以说没有多大的分别。不论注释写得再好,一般
程序员自己都怕看自己的程序,更何况参阅他人的? 但若有统一的格式,养成习惯后,
不仅易看易懂,而且寻找、修改方便,写作也轻松省事。

二、规格

  1,统一用大写字母,以利于阅读。
  2,空格处应采用 TAB,齐头等距,一目了然。
  3,标题之后立即改行输入,以便阅读。
  4,每行不得超过70个字母,以免长度不等,画面紊乱。
  5,注记位于指令后,在第五个 TAB的起点,空间不足时,可换行,但位置齐一。
  6,所有缓冲器统一定义在程序之前,不可夹杂在程序中间。
  7,除了需要作超过程序段的FAR CALL使用'PROC FAR'外,切勿使用'PROC NEAR '形式,
因这种写法毫无意义。
  8,程序开始时,应有注记说明使用要点。

    以下举例说明统一格式:
    1: PAGE  60,132
    2: TITLE [程序名],[程序员代号],[编号],[功能说明]
    3:
    4: DG    SEGMENT PUBLIC
    5:     EXTRN   BWSCA1:WORD,..
    6: DG    ENDS
    7:
    8: ..
    9: ..
   10: ..
   11:
   12: CG    SEGMENT PUBLIC
   13:     EXTRN   MMMM:NEAR,..
   14:     ..
   15:     PUBLIC  XXXX,YYYY,..
   16:     ASSUME  CS:CG,DS:DG,ES:DG
   17: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   18: ;   REM ............            ;
   19: ;    ......................       ;
   20: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   21: START:
   22:     CLD
   23:     MOV   AX,DG
   24:     MOV   DS,AX
   25:     ..
   26:     ..
   27:     ..
   28:
   29:CG    ENDS
   30:   END   START

    第一条的 PAGE 是供打印用的「保留指令」,表示每页所印的行数及列数。其后之
 60,132 即为60行, 132个字符。
    第二条的 TITLE  为供查阅之「保留指令」。
    前述REM 注记栏中,应说明该段程序的功能、应用条件,以便其它程序员共同使用。

三、注记

    注记的目的在于日后自己或他人能很容易地做程序修改、维护。因此所做描述当力
求详尽。不幸的是,不论多么精彩的文句,总有不足之处。因此,注记时需把握重点,
大体说来,程序需加以说明的,不外:

  1,功能:做什么工作,需要何种先决条件。
  2,参数:设些什么数据,以供本段程序处理。
  3,缓冲器:用什么缓冲器,其工作特性如何。
  4,结果:执行后所产生的结果。
  5,子程序调用:在本段程序中,所需调用的子程序名。
  6,重要声明:如寄存器是否被破坏,或其它注意的事项。
    如:
    【功能】:读键盘缓冲区输入码,依性质返回ASCII+扫
         瞄码或中文内码
    【参数】: AH = 00H
    【返回】: 11AL< 80H,AH = 扫瞄码,AL = ASCII
         12AL≧80H,AL = 四字符中文内码之一
    【破坏暂存器】:AX
    【备注】:以本功能取中文内码,须连取4次,依序得
         到一中文4字符内码。
    当然,如果时间充足,最好能有程序的全部说明,以及制作、修改的细部记录。
    问题在于任何程序发展之初,一定乏善可陈。再加上不断的修改、增补,其间变化
复杂无比。程序员又要全神贯注,解决问题,又要考虑如何注记,一心两用,必然谈不
到效率。
    那么怎样做才对呢?我建议先让程序员自由发挥,在初期有无注记无关紧要。待程
序完成了,大致上没有错误,这时,就应该停下来,从头到尾,将程序彻底整理一番。

    这样不仅加注记容易,而且程序员有机会重新「欣赏」自己的心血结晶,该改的改,
该合并的合并,该删的删。最后,程序员经过反思,研究,技术将会大幅度进步,程序
更精简,注记也正确无误,工作也达到最高效率。

上一页    下一页