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

汇编语言程式设计:第六节 特殊技巧的运用

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/18
下载{$ArticleTitle}原创论文样式
nbsp;18: COMRET:
   19:        RET
    如此,在分支时,在第13条指令做回路,10,11 则比较住址以决定是否完成。这一来,完成结束只有一次,需时 16T,其余所有执行时间皆为4T,较前一回路快了13T 之多。
    再试用「终止指令」法,其必要条件为资料中有多余的组合可供选择。一般多以 00H,0FFH 等极端值比较理想,下面且以0FFH作为终止指令,并置于资料终止处。
    1:        MOV    CL,0FFH   ;终止检查用
    2:        SUB    AL,AL      ;先设为最小值,备用
    3: COMPAR:
    4:        MOV    AH,AL      ;设AH为低位值
    5: COMPAR1:
    6:        LODSB          ;取资料
    7:        CMP    AL,CL      ;比是否终止指令?
    8:        JAE    COMRET      ;完成
    9:        CMP    AL,AH      ;比大、小
   10:        JAE    COMPAR      ;高位大,再查
   11:        MOV    [SI-2],AX ;交换AH,AL,排序
   12:        DEC    SI      ;向低位再查
   13:        MOV    AH,[SI-2]
   14:        JMP    COMPAR1
   15: COMRET:
   16:        RET
    似此,程式较短,其他效果差不多。
    这段程式,在处理速度上,还大有油水。因为已经检查过的资料,因为回路关系,还会不断地重复检查,是否能够避免这种情况呢?    事实上,当排序到某住址时,即表示由该住址起,上面已经检查完毕。因此,只要记录下来,下次再查时,将住址还原即可。
    1:        MOV    CL,0FFH   ;终止检查用
    2: COMPAR0:
    3:        SUB    AL,AL     &
  • 上一篇资讯: 不再疑惑,汇编之后
  • 下一篇资讯: D/A、A/D闭环测试
  • 网学推荐

    免费论文

    原创论文

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