| 网站首页 | 文章中心 | 电子书下载 | 矢量图库 | 视频教程 | 素材下载 | 程序代码下载 | JS代码 | 论坛 | 
常用软件类:
|杀毒安全 |联络聊天 |网络软件 |多媒体类 |系统工具 |图形图像 |系统工具 |应用软件 |行业软件
开发设计类:
|动画制作 |图像处理 |3D设计 |操作系统 |站长学院 |网络相关 |WEB设计 |数据库类 |程序开发
汇编语言---套装软件制作(2)
作者:未知    文章来源:网络    点击数:    更新时间:2006-7-19
  nbsp;   ;无效 
 1008:        DW    NEXT12        ;↙ 
 1009:        DW    NEXT1        ;↓ 
 1010:        DW    NEXT14        ;↘ 
 … 
    因为这是子程式,加一段、减一段容易非常。 
    即使是子程式,也有很大的考究,就以前段来说,在 104至110 之间,就值得三思。 
  104:        CALL    MOVDATA     ;SET BUFFERS 
  105:        CALL    SETDLT        ;SET INCREMENT 
  106: NXT01: 
  107:        CALL    DOTUP 
  108:        LOOP    NXT01 
  109:        CALL    XORDOT        ;SET NEW DOT 
  110:        CALL    XYDISP        ;DISP NEW XXX,YYY 
    首先,104 和105 会重复多次,109 及110 亦然,为什么不合并为一呢?这也是很常见的程式合并手法,两次调用合为一次,速度及空间都较为经济。 
    在子程式 SETDLT 之前,先调用一次 MOVDATA,另XYDISP也是一样,首先备妥: 
 3000: SETDATA: 
 3001:        CALL    MOVDATA     ;假设本程式有他用 
 3002: SETDLT: 
 3003:          … 
 … 
 3100: XYDIDOT: 
 3101:        CALL    XORDOT        ; 同上 
 3102: XYDISP: 
 3103:        … 
 … 
    再来设计NEXT0 的子程式: 
  110: NEXT0: 
  111:        CALL    SETDATA 
  112: NXT01: 
  113:        DOTUP  应搬至此,无需设为子程式。 
  … 
  120:        LOOP    NXT01 
  121:      &nbs

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 


相关文章