通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 电信网通铁通移动   在线
资源搜索:
热门搜索:Linux VB C语言 PhotoShop Flash TCP/IP
   首页 | 文章 | 软件 | 动画 | 资源 | 励志 | 骗术 | 论坛 | 邮箱 | 会员中心 | 军事 | 科技 | 博客 | 图片 | 商城 | 最新更新 | 800g资源 | 爱心黑客
您现在的位置: 爱国者黑客 >> 资源 >> 程序设计 >> 汇编语言 >> 基础教程 >> 文章正文
汇编语言---程式设计 (4)
责任编辑:admin   更新日期:2005-8-6
nbsp;  24:        CALL    BP
   25:        POP    AX
   26:        XCHG    DH,AH
   27:        POP    BX
   28:DYBPJRT:
   29:        RET

二、对称法:

    本法实际上就是利用间接定址的指令,将原系对称处理,或可以调整成为对称型的程式,灵活调用。
    下面这段程式,表面看来似乎毫不相干,但经过整理后,就有了眉目,然后再以暂存器间接定址,合并为一。像这种程式,规模越大,所节省的空间就越多。
    1:ABCD:
    2:        CMP    DX,BUFA
    3:        JB    ABCD1
    4:        CMP    CL,BUFD
    5:        JB    ABCD1
    6:        MOV    BUFC,CL
    7:        INC    BUFE
    8:        MOV    BUFB,DX
    9:        DEC    BUFF
   10: ABCD1:
   11:        ..
   12:        ..
      与另一段程式:
   20:EFGH:
   21:        CMP    BX,BUFG
   22:        JB    EFGH1
   23:        CMP    CH,BUFH
   24:        JB    EFGH1
   25:        INC    BUFK
   26:        DEC    BUFL
   27:        MOV    BUFI,BX
   28:        MOV    BUFJ,CH
   29:EFGH1:
   30:        ..
   31:        ..
    看来分别很大,先经过整理,得到左右两组程式:
    EFGH:              ABCD:
    CMP    BX,BUFG       CMP        DX,BUFA
    JB    EFGH1          JB        ABCD1
    CMP    CH,BUFH       CMP        CL,BUFD
    JB    EFGH1          JB        ABCD1
    INC    BUFK          INC        BUFE
    DEC    BUFL          DEC        BUFF
    MOV    BUFI,BX       MOV        BUFB,DX
    MOV    BUFJ,CH       MOV        BUFC,CL
    EFGH1:              ABCD1:
    ..              ..
    ..              ..
    对照之下可以看出,其所不同的,只是暂存器及缓冲器的分别而已。这种程式的出现,是由于事先规划不当,未能通盘考虑,头痛医头,脚痛医脚。原可以把暂存器及缓冲器统一运用,现在木已成舟,想要变更很可能影响大局。
    其次是写作的风格及习惯没有养成,在用指令时,信手拈来,以致两段程式,两种写法!
    现在唯一的补救方法,是利用间接定址法,先将两组不同的缓冲器,照相对次序排列妥当,再改写程式。
    1:ABCD:
    2:        MOV    SI,OFFSET BUFA
    3:        MOV    DI,OFFSET BUFB
    4:        MOV    BX,DX
    5:        MOV    CH,CL
    6:        JMP    SHORT EFGH1
    7:EFGH:
    8:        MOV    SI,OFFSET BUFG
    9:        MOV    DI,OFFSET BUFI
   10:EFGH1:
   11:        CMP    BX,[SI]
   12:        JB    EFGH2
   13:        CMP    CH,[SI+2]
   14:        JB    EFGH2
   15:        MOV    [DI],BX
   16:

上一页  [1] [2] [3] [4] [5] 下一页

  • 上一篇文章:
  • 下一篇文章:
  • 热门文章
    Olldbg常见问题
    汇编语言的艺术(组合语言的艺术)--观
    汇编语言的艺术(组合语言的艺术)--准
    汇编语言的艺术(组合语言的艺术)--基
    汇编语言的艺术(组合语言的艺术)--基
    汇编语言---程式设计 (4)
    虚拟8086模式
    SYS命令使用说明
    javascript + CSS 实现动态菜单显
    推荐文章
    自制Windows XP SP2自动安装光盘
    SQLServer注入工具改进版 v1.02
    使用photoshop CS进行自然美肤
    Photoshop绘制诺基亚手机
    PHOTOSHOP制作秋日之梦
    PHOTOSHOP鼠绘名模王爱萍
    Photoshop制作晶莹飞溅的水珠
    教你用PHOTOSHOP做放大镜
    鼠绘美女及服装修画全过程