首页
课程
问答
CTF
论坛
招聘
看雪峰会
发现
企服
众测
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
论坛
课程
招聘
发现
问答
企服
专栏
CTF
众测
排行榜
知识库
工具下载
看雪峰会
看雪20年
看雪商城
证书查询
看雪论坛
编程技术
发新帖
5
0
[分享]汇编优化几种方式。
2010-8-1 10:40
7108
[分享]汇编优化几种方式。
ouyangtian
2010-8-1 10:40
7108
最近从书中看到几中汇编优化方式,拿出分享分享。
主要目的是提高运行效率,消除跳转指令。
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
[招生]科锐逆向工程师培训46期预科班将于 2023年02月09日 正式开班
收藏
・
5
点赞
・
0
打赏
分享
分享到微信
分享到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
雪 币:
124
活跃值:
(46)
能力值:
( LV2,RANK:10 )
在线值:
发帖
1
回帖
169
粉丝
0
关注
私信
ouyangtian
2010-8-5 10:44
4
楼
0
楼上真是好眼力!
Golbeze
雪 币:
1105
活跃值:
(332)
能力值:
( LV3,RANK:20 )
在线值:
发帖
2
回帖
2
粉丝
1
关注
私信
Golbeze
2019-1-26 21:08
5
楼
0
有人能说一下那本书的书名吗?
一半人生
雪 币:
7638
活跃值:
(8619)
能力值:
( LV12,RANK:312 )
在线值:
发帖
26
回帖
357
粉丝
145
关注
私信
一半人生
5
2019-1-26 21:20
6
楼
0
Golbeze
有人能说一下那本书的书名吗?
游戏之旅——我的编程感悟 云风 因该是他 那个真牛逼的男人
如斯咩咩咩
雪 币:
5518
活跃值:
(1004)
能力值:
( LV2,RANK:15 )
在线值:
发帖
1
回帖
146
粉丝
6
关注
私信
如斯咩咩咩
2019-1-26 23:12
7
楼
0
老帖,顶一个
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
ouyangtian
1
发帖
169
回帖
10
RANK
关注
私信
他的文章
[分享]汇编优化几种方式。
7109
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区