首页
社区
课程
招聘
[已解决] [悬赏][求助]以下这段汇编代码是什么意思? 5.00雪花
2018-1-9 11:40 2353

[已解决] [悬赏][求助]以下这段汇编代码是什么意思? 5.00雪花

2018-1-9 11:40
2353
        mov edx, edi
	shr	edx
	or	edx, edi
	mov	eax, edx
	shr	eax, 2
	or	eax, edx
	mov	edx, eax
	shr	edx, 4
	or	edx, eax
	mov	eax, edx
	shr	eax, 8
	or	eax, edx
	mov	edx, eax
	shr	edx, 16
	or	edx, eax
;上面的代码将ed的最高有效位复制到后面所有低位,即形成1111111之类的数字
	imul	eax, edx, 79355661 ; 0x4badf0d
	shr	eax, 26
	mov	eax, DWORD PTR v[0+rax*4]
	ret
v代表一个拥有64个32位数字的数组,具体如下
int v[64]=
	{ -1,31, 8,30, -1, 7,-1,-1, 29,-1,26, 6, -1,-1, 2,-1,
	  -1,28,-1,-1, -1,19,25,-1, 5,-1,17,-1, 23,14, 1,-1,
	   9,-1,-1,-1, 27,-1, 3,-1, -1,-1,20,-1, 18,24,15,10,
	  -1,-1, 4,-1, 21,-1,16,11, -1,22,-1,12, 13,-1, 0,-1 };
请问汇编此段汇编抽象出来是什么意思?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
点赞0
打赏
分享
最新回复 (2)
雪    币: 156
活跃值: (150)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
foolishx 2018-1-9 16:48
2
0
https://yurichev.com/blog/de_bruijn/  看看这个你就懂了。不用谢,我是雷锋
雪    币: 7
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
洛燕 2018-1-9 18:23
3
0
foolishx https://yurichev.com/blog/de_bruijn/ 看看这个你就懂了。不用谢,我是雷锋
非常感谢,这原来是高位0个数统计,magic  number也真是够暴力魔幻的
游客
登录 | 注册 方可回帖
返回