欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

java转汇编代码的分析。不一般困惑。请大家支招

更新时间: 2014-01-05 03:16:08 责任编辑: Author_N1

 

Java转汇编代码的分析。特别困惑。请大家支招

byte map[32]={0,0……0};
int len=strlen(string);
for(int i=0;i<len;i++)
map[(string[i])>>3] |= 1<<( (string[i]) &7)

下面是汇编代码,map和string都是byte型的变量。
PrepareMap PROC,
string:PTR BYTE,
map:PTR BYTE

local i:byte
mov esi,string
mov eax,map
mov i,0

For:
     SHRD ebx,[esi+i],3
     AND [eax+i],7
     SHRD edx,[eax+i],1
     OR [eax+ebx],edx
     inc i

loop For



我这是直接按照代码翻译过来的,但是有错误,谁懂能帮我看看纠正下嘛。
--参考方法--
你应该:

  lea esi,string
  lea edi,map
for:
  movzx ecx,byte ptr [esi]
  inc esi
  jecxz done
  mov edx,1
  mov eax,ecx
  and ecx,7
  shr eax,3
  shl edx,cl
  or [edi+eax],edx
  jmp for
done:

  
  
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:16:08
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/20261/
本文WWW.DOC100.NET DOC100.NET版权所有。