首页
社区
课程
招聘
[原创]第一章:1.9、除法与取模运算的识别与优化原理
发表于: 2010-9-2 23:59 27826

[原创]第一章:1.9、除法与取模运算的识别与优化原理

2010-9-2 23:59
27826
收藏
免费 7
支持
分享
最新回复 (31)
雪    币: 1163
活跃值: (137)
能力值: ( LV12,RANK:230 )
在线值:
发帖
回帖
粉丝
2
好家伙~你终于更新了啊~
2010-9-3 07:50
0
雪    币: 478
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
2010-9-3 08:37
0
雪    币: 221
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
有新的了,标记一个
2010-9-3 08:42
0
雪    币: 88
活跃值: (47)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
5
好文章啊, 兄弟 辛苦了~
2010-9-3 13:06
0
雪    币: 168
活跃值: (152)
能力值: ( LV11,RANK:180 )
在线值:
发帖
回帖
粉丝
6
过来支持一下~
2010-9-3 13:40
0
雪    币: 440
活跃值: (119)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
7
顶楼主,学习了~~~
2010-9-3 14:47
0
雪    币: 324
活跃值: (26)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
新的终于来了 啊!呵呵,支持
2010-9-3 18:43
0
雪    币: 62
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
好文,果华秩之章也,佩服。

请教个问题:

3   ┃0.3333333333┃1431655765.190167756┃0x55555555

从 0x55555555 到 0.3333333333 有什么比较一目了然的获取方法呢,比如整数0x55555555,能计算器16进制转10进制1431655765,但0x55555555我要怎样才能比较方便得到0.33333333,或是在汇编码中看到类似这样的数,就知道是除几了呢
2010-9-5 14:01
0
雪    币: 62
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
真是很受用,再拜作者。
另外再请教个问题:
文中描述的是整型除法,那浮点数除法能不能也如此文般给出这等精辟文章呢
当看到这样的汇编
.text:10000011                 fld     [ebp+var_24]
.text:10000014                 fsub    [ebp+var_8]
.text:10000017                 fmul    ds:dbl_10000110
.text:1000001D                 fadd    [ebp+var_8]
.text:10000020                 fstp    [ebp+var_8]
.text:10000023                 fld     [ebp+var_18]
.text:10000026                 fdiv    [ebp+var_24]
.text:10000029                 fld     ds:dbl_10000120
.text:1000002F                 fcomp   st(1)
.text:10000031                 fnstsw  ax
.text:10000033                 test    ah, 41h
真是是头大。。
2010-9-5 14:14
0
雪    币: 780
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
晕,今天才发现更新了
2010-9-6 08:19
0
雪    币: 883
活跃值: (314)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
12
我也尝试着总结过,无奈数学功底不厚,没能总结出什么有价值的东西出来。

所以就目前来看,很难仅靠目测就能确定其除数,当然,这肯定是有一定的办法的,只不过我还没发现而已。

如果论他上的哪位兄弟有什么好的方法,一定不要忘记与我分享一下,不胜感激。
2010-9-7 08:06
0
雪    币: 883
活跃值: (314)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
13
[QUOTE=mmnihao;855139]真是很受用,再拜作者。
另外再请教个问题:
文中描述的是整型除法,那浮点数除法能不能也如此文般给出这等精辟文章呢
当看到这样的汇编
.text:10000011                 fld     [ebp+var_24]
.text:10000014                 f...[/QUOTE]

    我本来想在下一节就讲浮点运算的,但是仔细观察一下帖子的浏览量就不难发现,已经有很多人放弃了,这与前几节少则几千多则上万的浏览量已经不能相提并论。
    而我写本文的初衷就是为这些基础差的朋友提供一个向上攀登的台阶,而现在走到如此尴尬之境地,一要怪他们没有毅力,最主要的也要怪我的文章没安排好。

    我想这些东西虽然懂的人能知晓其价值,但是对于初学者来说这只会让他们头大,因此我想在这之间穿插一些看似实用而且学习来有比较轻松的章节。
    如果这位兄弟觉得不妥,尽可发表你的看法,我会尽量照顾到每个层次。
2010-9-7 08:15
0
雪    币: 1301
活跃值: (25)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
14
楼主的文章总是那么的通俗易懂。我的基础很差,但是我没有放弃,你的这系列文章我都看了好几遍,仔细学习,希望楼主也不要放弃,谢谢!
2010-9-8 11:05
0
雪    币: 62
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
拜读过你的这个系列的所有文章,收益匪浅。
写的精华贴有人看固然重要,但既然成系列了,把能涉及到的东西尽可能的写的全一些,也是作者对自身的肯定,呵呵,一旦系列规模成形且全,又俱都是精华之作,将来完全有可能成为调试逆向方面的经典教材之作

希望大牛继续坚持啊,我辈定当认真拜读。
2010-9-9 19:15
0
雪    币: 883
活跃值: (314)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
16
我不会放弃的
2010-9-10 07:31
0
雪    币: 883
活跃值: (314)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
17
我的意思只是将结构改变一下,并没有放弃之意,望这位兄弟不要担心。
2010-9-10 07:32
0
雪    币: 93
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
好文章!感谢作者的无私分享,支持一下!
2010-9-10 13:21
0
雪    币: 561
活跃值: (124)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
学习!
2010-9-12 13:40
0
雪    币: 88
活跃值: (47)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
20
叹,只有“纠结”才能达到“华秩”,努力ing。。。
2010-9-14 09:28
0
雪    币: 45
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
昨天晚上才注意到这个系列的文章,今天一口气全看完了。
因为自己经验也不算少,到乘法为止基本上都比较熟悉了,不过除法这一章看起来还真是头大啊……没有很强的数学功底是没办法快速理解那些十六进制运算的……当年学小数表示法的时候就没认真学T.T
有个问题:如果除数是变量,有优化办法么?
还有就是看到乘法那一章的时候突然发现对cpu的一些执行原理不甚了解,比如您讲的push ecx edx交替安排是因为指令流水线技术,能详细讲一讲么?或者说哪里有这方面的资料呢?
2010-9-20 13:32
0
雪    币: 309
活跃值: (98)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
很好的教程啊,一直在关注....几个月了...
2010-10-6 14:38
0
雪    币: 217
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
顶起 希望 能再出的稍快一些
2010-11-14 23:58
0
雪    币: 24
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
很好的教程啊,才发现,多谢
2010-11-15 17:02
0
雪    币: 16
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
学习学习!好东西!
2010-11-15 19:36
0
游客
登录 | 注册 方可回帖
返回
// // 统计代码