标题:[原创]贪吃蛇
只看楼主
ass754754563
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-10-28
得分:0 
千言万语汇成一句话: LZ你好猛。。。
2008-10-28 11:47
a12030689
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-3-30
得分:0 
强悍 顶
2008-11-17 16:19
AXRZ
Rank: 2
等 级:论坛游民
威 望:5
帖 子:48
专家分:84
注 册:2016-3-23
得分:0 
最近比较忙,这里给你一些小意见吧:

1.
 MOV CH,PADMSG1[SI]
 MOV CL,PADMSG1[SI+1]
因为如上两条指令可以变成这样
 MOV CX,[PADMSG1+SI]
 XCHG CH,CL
原因?更快更小

2. 任何将寄存器清零的指令,你用的都是MOV,以后记得使用XOR指令,例如:
 MOV EAX,0    ;5字节
 XOR EAX,EAX   ;2字节
XOR和MOV时间周期相同,只不过XOR比MOV小

3. 在FORM41子程序中的这段指令:
 CMP BH,CH
 JNZ FORM411
 CMP BL,CL
 JNZ FORM411
可以改写成:
 CMP BX,CX
 JNZ FORM411

今天先到这里,以上是一些基础的汇编代码优化(4其实不算是),逻辑上的优化要细看过代码才知道,不知道有没有时间去看


[此贴子已经被作者于2016-4-29 07:19编辑过]

2016-04-23 14:17
zhulei1978
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:53
帖 子:1351
专家分:1200
注 册:2006-12-17
得分:0 
谢谢,谢谢你的宝贵意见

其实判断我直接用的是字节相比较,用按位相与的话应该会更效率些,不过代码上要复杂些

其实我就是改变社会风气,提高少女素质,刺激电影市道,提高年轻人内涵,玉树临风,风度翩翩的整蛊专家,我名叫古晶,英文名叫JingKoo!
2016-04-23 15:51
AXRZ
Rank: 2
等 级:论坛游民
威 望:5
帖 子:48
专家分:84
注 册:2016-3-23
得分:0 
回复 44楼 zhulei1978
你指的是通过异或指令来比较是否相等吧,没有需要这么做,因为XOR和CMP指令周期一样,字节大小也一样,看一下反编译:
0:  66 39 cb                cmp    bx,cx        ;第一种用CMP
3:  0f 85 fc ff ff ff       jne    5 <_main+0x5>
9:  66 31 cb                xor    bx,cx        ;第二种用XOR异或
c:  0f 85 fc ff ff ff       jne    e <_main+0xe>
他们所占的大小没有区别,指令周期也没有区别,所以不用枉费心思去把CMP改成XOR
2016-04-24 00:42
zhulei1978
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:53
帖 子:1351
专家分:1200
注 册:2006-12-17
得分:0 
谢谢
你有写过什么成熟的作品吗

其实我就是改变社会风气,提高少女素质,刺激电影市道,提高年轻人内涵,玉树临风,风度翩翩的整蛊专家,我名叫古晶,英文名叫JingKoo!
2016-04-24 06:07
AXRZ
Rank: 2
等 级:论坛游民
威 望:5
帖 子:48
专家分:84
注 册:2016-3-23
得分:0 
又发现个代码优化:
开头一段代码:
MOV AL,1CH
 MOV AH,35H

直接写成这样会更快更小:
MOV AX,351CH

这其实也不算优化,一般不会有人去把这个分成两条指令些写

[此贴子已经被作者于2016-4-29 07:51编辑过]

2016-04-29 07:49
zhulei1978
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:53
帖 子:1351
专家分:1200
注 册:2006-12-17
得分:0 
本人申请52破解论坛的ID,ID号:王者归来1

[此贴子已经被作者于2016-5-5 22:21编辑过]


其实我就是改变社会风气,提高少女素质,刺激电影市道,提高年轻人内涵,玉树临风,风度翩翩的整蛊专家,我名叫古晶,英文名叫JingKoo!
2016-05-05 20:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-199809-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.038760 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved