| 网站首页 | 文章中心 | 电子书下载 | 矢量图库 | 视频教程 | 素材下载 | 程序代码下载 | JS代码 | 论坛 | 
常用软件类:
|杀毒安全 |联络聊天 |网络软件 |多媒体类 |系统工具 |图形图像 |系统工具 |应用软件 |行业软件
开发设计类:
|动画制作 |图像处理 |3D设计 |操作系统 |站长学院 |网络相关 |WEB设计 |数据库类 |程序开发
汇编语言---程式设计 (5)
作者:未知    文章来源:网络    点击数:    更新时间:2006-7-19
  nbsp;  9:        JAE    COMRET      ;完成 
   10:        CMP    AL,AH      ;比大、小 
   11:        JAE    COMPAR      ;高位大,再查 
   12:        MOV    DI,SI      ;暂时保存 
   13: COMPAR2: 
   14:        MOV    [SI-2],AX ;交换AH,AL,排序 
   15:        DEC    SI      ;向低位再查 
   16:        MOV    AH,[SI-2] 
   17:        LODSB          ;取排序资料 
   18:        CMP    AL,AH      ;比是否该排 
   19:        JB    COMPAR2   ;是 
   20:        MOV    SI,DI      ;否,将原位址还原 
   21:        JMP    COMPAR0   ;从头再做 
   22: COMRET: 
   23:        RET 
    总而言之,程式的变化无穷无尽,尤其是用组合语言制作程式,更是灵活精妙。就像下围棋一般,往往一两个指令就足以将整个局势扭转过来。 
    程式的效率经常决定在回路上,读者千万不要以为一两个时钟脉冲算不了什么。要知道,汪洋大海,也是由一点一滴的水珠累积而成的。 
    这段程式还有不少值得深思的,读者们不妨自行研究吧!想得多了,自然会有生花妙笔。 

    真要作大量的资料排序,还有更有效的方法,也是应用模式分析的原则,先找出资料的「型」。 
    假如以同样性质的资料为例,为了避免资料一一查找,浪费时间。我们不妨研究一下,是否有可能,直截了当,就把资料依据大小,予以定位,一次排好? 
    电脑的好处,就在于资料的规律性,我们理应利用这种优点,来找出其排序的模式。 
    前例曾分为两个模式,一是查找,一是搬移。如果我们把查找改为记录,把搬移改为安排,则情形就大大的不同了。 
    记录时利用间接定址技巧,每笔取到的资料,皆可视为一个数值,对应于一记录的缓冲区。如果资料中每笔资料总值大于256 且小于 65536,则可以用二字元记录之。再若资料为二进位值,可由 0至 255,即设 512个对应单位。 
    假定原资料在 DS:SI中,长度在CX中。 
    首先,设一记录区为: 
    1: RECORD    DB    512 DUP (0) 
    2:        PUS

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


相关文章