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

汇编语言:套装软件制作

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/18
下载{$ArticleTitle}原创论文样式
 BEG00
 112:     CALL  BE3
 113:      JMP  BEG00
 …
 120: BE14:
 121:?  LODSW
 122:      CMP  AH,1FH
 123:       JGE  BE141
 124:      LOOP  BE14
 125:   POP  DI
 126:     POP  CX
 127:      MOV  SI,DI
 128:       JMP  BE142
 129: BE141:
 130:      POP  DI
 131:     POP  CX
 132:     MOV  SI,DI
 …
 150: BE10:
 151:     CALL  BE1
 152:      JMP  BEG00
 153: BE20:
 154:       MOV  AX,CX
 155:?  SUB  AX,DX
 156:      SHL  AX,1
 157:       DEC  AX
 158:      JLE  BE2
 159:?  CALL  BE3
 160:      JMP  BEG00
 161: BE1:
 162:?  INC  DX
 163:      ADD  CX,DX
 164:       ADD  CX,DX
 165:      INC  CX
 166:      ADD  DI,BUFX
 167:      CMP  DI,BX
 168:       JLE  BE1RET
 169:      CALL  BE01
 170:      SUB  DI,BX
 171: BE1RET:
 172:      RET
 …
 190: BE01:
 191:?  MOV  AL,1
 192:      CMP  [SI+1],AL
 193:       JNZ  BE011
 194:      INC  BYTE PTR [SI+1]
 195:       RET
 …
 200: BE141:
 …
  全部程式并不大,不过一百多条指令,但是稍加改进,却可以省却廿多条指令,速度也会加快。重点在于106 到113 的分支错误,以致于多出BE10 BE20 BE3 BE01等段程式出来。
  照理,BE1 BE3 BE01都不该另设子程式,BE14也应改写,如此,整个程式就完全不同了。
  原来由 105为:
 105:      MOV  AX,BP   ;★无必要
 106:       SHL  AX,1   ;★无必要
 107:      DEC  AX   ;★无必要
 108:      JL  BE10
 109: BE2:
 110:       CALL  BE1   ;★合并后,无需调用
 111:      JC  BEG00   ;★另作分支
 112:      CALL  BE3   ;★也无必要调用
 113:       JMP  BEG00
  现改为:
 107: BE1:       ;原为DEC AX分支处理
 108:       INC  DX   ;原161子程式作主流程
 109:      ADD  CX,DX
 110:     ADD  CX,DX
 111:      INC  CX
 112:       ADD  DI,BUFX
 113:     CMP  DI,BX
 114:      JLE  BE11
 115: ;     CALL  BE01   ;本子程式重写如下:
 116:      CMP  BYTE PTR[SI+1],1
 117:       JNE  BE1A
 118:      INC  BYTE PTR[SI+1]
 119: BE1A:
 120:      SUB  DI,BX
 121:      JC  BEG00   ;原111
 122:      …     ;原BE3 程式
 …
  又 125条三个指令也是分支错误,白白浪费。
 120: BE14:
 121:      LODSW
 122:       CMP  AH,1FH
 123:      JGE  BE141
 124:     LOOP  BE14
 125:      POP  DI   ;★可以省略
 126:       POP  CX   ;★

网学推荐

免费论文

原创论文

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