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

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

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/18
下载{$ArticleTitle}原创论文样式
; SUB1
   16:        DW    SUB2
        ..
   21:        DW    SUBN
   22: ENTER:
   23:        MOV    SI,OFFSET BUFER-1
   24:        LODSB            ; 查是否需要
   25:        OR    AL,AL        ; 为0则无
   26:        JZ    ENTRET
   27: ENTER1:
   28:        LODSW            ; 取程式资料
   29:        CMP    AX,1        ; 查程式入口
   30:        JB    ENTER1        ; 0表示不做
   31:        JZ    ENTRET        ; 1表示终止
   32:        PUSH    SI
   33:        CALL    AX        ; 执行
   34:        POP    SI
   35:        JMP    ENTER1
   36: ENTRET:
   37:        RET
    前一段调用程式需要31个字元,而现在只要21个字元,速度也快得多。不仅如此,前段程式仅能提供八个子程式,最多用十六位元,不过十六个子程式。本程式则不然,只要预留的缓冲器够,可提供的子程式可以说是无限。
    更重要的功能,是程式执行的顺序。除了这种预置法外,其他的方法,都受限于 SUBTB的安排次序,无法变更。但本方法则完全可任依使用者的需要,来决定子程式执行的顺序,以及是否执行。
    请注意在 SETUP时,BX的参数就同时代表了执行的顺序。如果要想依照设定的次序决定顺序,只要将缓冲区加大,再加一组预设程式即可,如下所示:
    1: SETUP:
    2:        SHL    AX,1        ; 输入参数
    3:        ADD   
  • 上一篇资讯: 不再疑惑,汇编之后
  • 下一篇资讯: D/A、A/D闭环测试
  • 网学推荐

    免费论文

    原创论文

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