| 网站首页 | 文章中心 | 电子书下载 | 矢量图库 | 视频教程 | 素材下载 | 程序代码下载 | JS代码 | 论坛 | 
常用软件类:
|杀毒安全 |联络聊天 |网络软件 |多媒体类 |系统工具 |图形图像 |系统工具 |应用软件 |行业软件
开发设计类:
|动画制作 |图像处理 |3D设计 |操作系统 |站长学院 |网络相关 |WEB设计 |数据库类 |程序开发
汇编语言---套装软件制作(2)
作者:未知    文章来源:网络    点击数:    更新时间:2006-7-19
  ; 383:        MOV    AL,18H 
  384:        INC    DX 
  385:        OUT    DX,AL 
  386:        RET 
  … 
  490:        MOV    DX,3CEH 
  491:        MOV    AL,3 
  492:        OUT    DX,AL 
  493:        MOV    DX,3CFH 
  494:        MOV    AL,0H 
  495:        OUT    DX,AL 
  496:        RET 
  … 
  589: CROSS    PROC    NEAR 
  590:        MOV    DX,3C4H 
  591:        MOV    AL,2 
  592:        OUT    DX,AL 
  593:        INC    DX 
  594:        MOV    AL,0FH 
  595:        OUT    DX,AL 
  596:        RET 
  597: CROSS    ENDP 
  … 

    这样的段落有十多处,看来每个都略有不同,似乎不能合并。然而仔细分析,显然是程式师训练不够,把一个非常有规则的程式,安排得非常紊乱,以致到这个地步。  我们先归纳问题,决定如何合并。第一,上述各段程式,应该统一作为子程式;第二,全部变数只有四个,其中两个是传送值,两个是输出入埠。后者有连续关系,等于只有一个。因此,在调用此子程式前,应先令DX为输出入埠,再将变数装入AX中,一次调用即可。此子程式如下: 
  300: SUB: 
  301:        OUT    DX,AL 
  302:        INC    DX 
  303:        MOV    AL,AH 
  304:        OUT    DX,AL 
  305:        RET 
    这样简短的子程式,有无必要,端视时空的效益而定。不论怎样整理,都远比原来的要好。 
    另外有种情况,更为可怕,就是在键盘输入后,用流程方式,一一比较输入码,再一一分别处理。&n

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


相关文章