| 网站首页 | 文章中心 | 电子书下载 | 矢量图库 | 视频教程 | 素材下载 | 程序代码下载 | JS代码 | 论坛 | 
常用软件类:
|杀毒安全 |联络聊天 |网络软件 |多媒体类 |系统工具 |图形图像 |系统工具 |应用软件 |行业软件
开发设计类:
|动画制作 |图像处理 |3D设计 |操作系统 |站长学院 |网络相关 |WEB设计 |数据库类 |程序开发
汇编语言---程式设计 (5)
作者:未知    文章来源:网络    点击数:    更新时间:2006-7-19
  bsp; JNC    ENTER2 
   17:        CALL    SUB2 
   18: ENTER2: 
   19: ..    ; 如此连续进行八次 
    显然这种做法其笨无比,第十条以后,可用回路取代: 
   10: ENTER: 
   11:        MOV    CX,8 
   12:        MOV    AL,FLAG     ; 暂存器较有效 
   13:        OR    AL,AL 
   14:        JZ    ENTRET        ; 不必做 
   15:        SUB    BX,BX 
   16: LOOP0: 
   17:        SHR    AL,1 
   18:        JNC    LOOP1 
   19:        PUSH    AX 
   20:        PUSH    BX 
   21:        PUSH    CX 
   22:        CALL    SUBTB[BX] 
   23:        POP    CX 
   24:        POP    BX 
   25:        POP    AX 
   26: LOOP1: 
   27:        INC    BX 
   28:        INC    BX 
   29:        LOOP    LOOP0 
   30: ENTRET: 
   31:        RET 
    这样好得多了,可是,还能不能再加改进呢?组合语言的妙处就在于变化无穷,且看看是否还能变出花样来。 从设置开始,方式稍微改变一下,旗号的观念是供程式检查用。在应用时,要占用一个暂存器,而暂存器有限,浪费了可惜。此外,八个不同的子程式,又要占用一个计数用的暂存器,最好能够省掉。 
    因此,设置的重要性就显而易见了,程式的好坏,并非仅仅在于指令的应用。原始的理念,及程式的规划,经常在程式设计之前已经决定了。 
    我们称之为「预置法」,把前述的设置方式改变一下,用一组缓冲区,先定义如下: 
        DB 

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


相关文章