当前位置: 网学 > 编程文档 > 汇编语言 > 正文

汇编语言的艺术(组合语言的艺术):准备工作

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/18
下载{$ArticleTitle}原创论文样式
图程式段。资料分为三段,一为应用资料,一为参考资料,以及制作资料。此外还有一资料索引段,合计有六个段。
  兹建议,在通用的基础上,简化段名,将段分类如下:
  程式段 (CODE SEGMENT) 定名为 CG
  资料段 (DATA SEGMENT) 定名为 DG
  索引段 (INDEX SEGMENT)定名为 IG
  记忆段 (MEMORY SEGMENT) 名为 MG
  特设段 (EXTRA SEGMENT)定名为 EG
  堆栈段 (STACK SEGMENT)定名为 SG

  当各段超过一组时,则再加数字以区分之。
  如在 dr-seg.asm 中,可设为:
  1: TITLE  SEGMENT DEFINITION OF PROGRAM ‘DRAW’
  2: CG1   SEGMENT PUBLIC
  3: CG1   ENDS
  4: CG2   SEGMENT PUBLIC
  5: CG2   ENDS
  6: DG1   SEGMENT PUBLIC
  7: DG1   ENDS
  8: DG2   SEGMENT PUBLIC
  9: DG2   ENDS
  10: DG3   SEGMENT PUBLIC
  11: DG3   ENDS
  12: IG   SEGMENT PUBLIC
  13: IG   ENDS
  14:     END
  在 SEGMENT PUBLIC 之后,有多种表示方式:
  SEGMENT PUBLIC XXXX
    XXXX=CODE 表示为程式段,在联接时,属程式的段与段前后衔接。两段程式之间,以 000H 填充至「节」( 每十六个字元为一「节」 )之首位。
    XXXX=DATA 表示资料段,在联接时同上。
    如果程式师为了某种原因,必须严格控制程式之位置及长度时,不宜使用上述两种方式。
    最简单之陈述方式,即在 SEGMENT PUBLIC之后,保持空白。
    XXXX=BYTE 表示程式联接后,各程式之间紧密接合,不留空位。这种方法,有利于程式精简。
    XXXX=WORD 表示程式联接后,各程式之间紧密接合,但在后面的程式必然由双数位起。

  又如在 XXXX 前后加以引号如:
  SEGMENT PUBLIC ''XXXX''
  此一宣告,用以通知汇编程式各段的顺序及定义。因此在编写程式时,只要使用的段名及定义与本档相符,不管将各段安排在程式任一位置,都不致发生错误。
  ‘XXXX’与本段程式的排列顺序有关,在联接时,先将引号中的字串排序妥当,各程式即依此顺序排列之。
  也就是说,凡是使用了引号,则程式联接的顺序,即以在引号中字串,于联接时出现先后为顺序。
  单一程式档的错误不难测知,但若各段之间发生错误,对经验不足的程式师,将有无从下手之虞,不得不慎!
  一般说来,在联接时,最令人头痛的错误讯息为:
  ''fixup overflow at nnnn..''
  不论其错误提示内容如何,此种错误的发生,多半是因为段与段之间的标题、缓冲器或是暂存器的使用发生了混淆,联接程式得不到正确的信息所致。
  解决方法是在第一个错误讯息出现时,立刻以‘Ctrl_C’停止汇编,记下第一个讯息,再在原程式中,找到该位置,(多半为一标题位置)在此标题之前,一定会发现与「段」有关的错误。

二、原始档(Source File)档名定义

  在共同设计大型模组时,程式师间的默契,全赖事先相互约定。否则程式越大,所面临的困难将越多,经常耗时费事,甚至最后功败垂成。
  因此,在设计之初,必须妥善规划,将一应有关的档案、名称、功能等,皆明确地加以定义。参与设计的程

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号