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

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

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/18
下载{$ArticleTitle}原创论文样式
nbsp;     ;查是否完毕?
   14:        JE    RECEND      ;完成
   15:        DEC    SI      ;向上取
   16:        DEC    SI
   17:        MOV    CX,[SI]   ;取记录值
   18:        JCXZ    STORE1      ;无记录,重取
   19:        MOV    AX,SI      ;当前之位址
   20:        SUB    AX,BP      ;差值
   21:        SHR    AX,1      ;原有值
   22: STORE2:
   23:        REP    STOSW      ;重新载入
   24:        JMP    STORE1      ;继续
   25: RECEND:
   26:        RET
    程式的变化无穷无尽,尤其是用组合语言写作程式,简直没有止境。只要稍稍用点心,加一点点变化因素,一个巧妙无比的程式,就会跃然而出。
    写程式的乐趣,就在于心智的投入。学者们不妨试着把这      式再加以改良,其中还有不少可以下手的地方,养成习惯以后,程式自然就会精简了。

八、预置法

    预置法适用于流程的安排,尤其是在不确定的情况下,有时需要作多项检查,不仅浪费时间,对空间也不利。
    例如有一段程式,其目的在于处理使用者所选择的流程。由于使用者事先通过介面程式,选妥各项工作,现在必须依某一顺序执行。
    这是一项难度相当大的工作,要执行固定顺序不难,下面的程式就可以达到目的。当然,一如既往,我们会尝试着将程式一再改进。最后,我们再来讨论如何能执行使用者所安排的顺序。
    设子流程有八种,使用者选用时,可令BX值等于子程式的代号。选用方式为「开关式」,即单数次为开,设定参数,复数次为关,取消设定。
    设定后,因为共有八种程式,可以用八个位元来设置所需要执行的旗号。当然,这要看程式的多少而定,八位元正好用一个旗号FLAG:
    1: SETUP:
    2:        CMP    BX,MAXVAL    ; 最大值检查
    3:        JA    SETRET        ; 超过,无效
    4:        SHL    BX,1        ; 参数乘2
    5:        JMP    SUBTB[BX]    ; 各种程式
   

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

    免费论文

    原创论文

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