首页
课程
问答
CTF
社区
招聘
看雪峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
看雪峰会
看雪商城
证书查询
看雪社区
编程技术
发新帖
5
6
[分享]汇编优化几种方式。
2010-8-1 10:40
7886
[分享]汇编优化几种方式。
ouyangtian
2010-8-1 10:40
7886
最近从书中看到几中汇编优化方式,拿出分享分享。
主要目的是提高运行效率,消除跳转指令。
1.求有符号32位整数的绝对值。
逻辑: if (eax<0) eax=-eax
cdq
xor eax, edx
sub eax, edx
这段指令之所以可以正常工作,基于这个一个事实
neg eax 等价于 not eax; inc eax
而 not eax 又等价于 xor eax, -1
2.取两个数字中较小的一个
逻辑: if (ebx>eax) ebx=eax
无符号整数版本
sub eax, ebx
sbb edx, edx
and edx, eax
add ebx, edx
有符号版本
sub eax, ebx
cdq
and edx, eax
add ebx, edx
3.根据条件来选择赋值
逻辑: edx=(eax<0)?ebx:ecx
cdq
xor ebx, ecx
and edx, ebx
xor edx, ecx
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
收藏
・
5
点赞
・
6
打赏
分享
分享到微信
分享到QQ
分享到微博
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
最新回复
(
6
)
fmicromath
雪 币:
203
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
15
回帖
62
粉丝
0
关注
私信
fmicromath
2010-8-3 18:02
2
楼
0
mark.....
还有最常见的
eax = !! eax;
sub 0, eax
sbb eax, eax
neg eax
eax = ! eax;
sub 0, eax
sbb eax, eax
inc eax
hhh两千
雪 币:
203
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
0
回帖
9
粉丝
0
关注
私信
hhh两千
2010-8-4 23:39
3
楼
0
云风的书吧~
ouyangtian
雪 币:
130
活跃值:
(61)
能力值:
( LV2,RANK:10 )
在线值:
发帖
1
回帖
169
粉丝
0
关注
私信
ouyangtian
2010-8-5 10:44
4
楼
0
楼上真是好眼力!
Golbeze
雪 币:
1107
活跃值:
(486)
能力值:
( LV3,RANK:20 )
在线值:
发帖
2
回帖
2
粉丝
1
关注
私信
Golbeze
2019-1-26 21:08
5
楼
0
有人能说一下那本书的书名吗?
一半人生
雪 币:
5291
活跃值:
(11715)
能力值:
( LV12,RANK:312 )
在线值:
发帖
26
回帖
373
粉丝
188
关注
私信
一半人生
5
2019-1-26 21:20
6
楼
0
Golbeze
有人能说一下那本书的书名吗?
游戏之旅——我的编程感悟 云风 因该是他 那个真牛逼的男人
如斯咩咩咩
雪 币:
4709
活跃值:
(1524)
能力值:
( LV2,RANK:15 )
在线值:
发帖
-2
回帖
165
粉丝
7
关注
私信
如斯咩咩咩
2019-1-26 23:12
7
楼
0
老帖,顶一个
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
ouyangtian
1
发帖
169
回帖
10
RANK
关注
私信
他的文章
[分享]汇编优化几种方式。
7887
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
返回
顶部