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

汇编语言 - 程序设计教程(五)

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/18
下载{$ArticleTitle}原创论文样式
bsp; ;比是否该排
   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:        PUSH    SI      ;程式开始
    3: CHECK:
    4:        LODSB          ;取资料,AH永远为0
    5:        MOV    BX,AX      ;利用BX间接定址
    6:        INC    WORD PTR RECORD[BX]
    7:        LOOP    CHECK
    8: STORE:
    9:        MOV    SI,OFFSET RECORD+512;指向最
                        ;后记录
   10:        MOV    BP,OFFSET RECORD    ;供检查
   11:        POP    DI      ;资料贮存处
   12: STORE1:
   13:        CMP    SI,BP&

  • 下一篇资讯: 献给汇编语言初学者
  • 网学推荐

    免费论文

    原创论文

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