|
40精币
0113E97D |. 8945 F4 mov [local.3],eax ; 将eax ascii “87654321”,赋值到参数1里面
0113E980 |. 33C9 xor ecx,ecx
0113E982 |. 85DB test ebx,ebx
0113E984 |. 7E 2C jle short 0113E9B2 ; SysModul.0113E9B2
0113E986 |> 8D41 01 /lea eax,dword ptr ds:[ecx+0x1] ; eax=0000001,记录循环次数
0113E989 |. 99 |cdq ; edx =0 改变了dl的值
0113E98A |. F77D F4 |idiv [local.3] ; edx/eax=edx 余ao
0113E98D |. 8BF2 |mov esi,edx ; edx循环7次归0
0113E98F |. 8BC1 |mov eax,ecx
0113E991 |. BF 07000000 |mov edi,0x7 ; edi==0000007
0113E996 |. 99 |cdq
0113E997 F7FF idiv edi ; edx为除数,eax为被除数,al为商,al 置0
0113E999 |. 8B45 F0 |mov eax,[local.4] ; eax=87654321
0113E99C 8A0430 mov al,byte ptr ds:[eax+esi] ; al 赋值
0113E99F |. 02D0 |add dl,al ; dl=dl+al
0113E9A1 |. 8B45 F8 |mov eax,[local.2]
0113E9A4 |. 03C1 |add eax,ecx
0113E9A6 |. 8B75 FC |mov esi,[local.1]
0113E9A9 |. 301406 |xor byte ptr ds:[esi+eax],dl
0113E9AC |. 41 |inc ecx
0113E9AD |. 4B |dec ebx
0113E9AE |. 85DB |test ebx,ebx
0113E9B0 |.^ 7F D4 \jg short 0113E986 ; SysModul.0113E986
|
最佳答案
查看完整内容
首先是要保证这断汇编代码是可以正常运行的,然后直接用置入代码写,编译完成后也可以查看生成的汇编是否一样
|