鱼C论坛

 找回密码
 立即注册
查看: 2130|回复: 2

[争议讨论] 书本上的程序效率不一定最高

[复制链接]
发表于 2014-9-16 19:58:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
首先声明下我刚开始自学汇编,也没有看甲老大的视频!
好了,回到正题。对于程序5.9(P121)代码如下:
ASSUME cs:Codesg

Codesg SEGMENT
           mov ax,0ffffH
           mov ds,ax
           mov ax,20H
           mov es,ax
           mov dx,0H
           mov bx,0H
           mov cx,12
S:     mov dl,ds:[bx]
       mov es:[bx],dl
           inc bx
loop S

      mov ax,4c00H
          int 21H
Codesg ENDS

END
对于上面的程序,它所实现的功能就是将“FFFF:0  B"种的内容复制到“0:200  20B"处,其实还有两种比这个更好的方法(程序5.9已经相比优化了),这两种方法的代码如下:
第一种
ASSUME cs:Codesg


Codesg SEGMENT
           mov ax,0ffffH
           mov ds,ax
           mov ax,20H
           mov es,ax
           mov dx,0H
           mov bx,0H
           mov cx,6
S:     mov dx,ds:[bx]
       mov es:[bx],dx
           add bx,2
loop S


      mov ax,4c00H
          int 21H
Codesg ENDS


END

第二种
ASSUME cs:Codesg

Codesg SEGMENT
           mov ax,0ffffH
           mov ss,ax
           mov sp,0H
           mov ax,20H
           mov ds,ax
           mov bx,0H
           mov cx,6
S:     pop ds:[bx]
       add bx,2
loop S

       mov ax,4c00H
           int 21
Codesg ENDS

END
本人只是将自己的学习心得和大家分享,如有错误请大家指教,谢谢!!


评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +2 收起 理由
小甲鱼 + 5 + 5 + 2 赞一个!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-9-16 20:44:18 | 显示全部楼层
不错,那个系列我跟着书本来的~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-9-16 22:59:31 | 显示全部楼层
小甲鱼 发表于 2014-9-16 20:44
不错,那个系列我跟着书本来的~

第二种方法的技巧其实书本上是有提到过的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-28 23:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表