Last active
August 29, 2015 14:03
-
-
Save retep998/a60a9325fd293a6e32e4 to your computer and use it in GitHub Desktop.
assembly comparison
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- a:\files\coding\nolifestory\src\nxbench\nxbench.cpp ------------------------ | |
nl::bench::recurse_sub: | |
00AD12E0 push ebp | |
00AD12E1 mov ebp,esp | |
00AD12E3 and esp,0FFFFFFF8h | |
00AD12E6 sub esp,14h | |
00AD12E9 mov eax,dword ptr [ebp+8] | |
00AD12EC push ebx | |
00AD12ED push esi | |
00AD12EE push edi | |
00AD12EF mov ebx,dword ptr [eax] | |
00AD12F1 mov edi,1 | |
00AD12F6 mov edx,dword ptr [eax+4] | |
00AD12F9 mov dword ptr [esp+14h],ecx | |
00AD12FD mov dword ptr [esp+10h],edx | |
00AD1301 test ebx,ebx | |
00AD1303 jne 00AD1309 | |
00AD1305 xor esi,esi | |
00AD1307 jmp 00AD1315 | |
00AD1309 mov eax,dword ptr [ebx+4] | |
00AD130C lea ecx,[eax+eax*4] | |
00AD130F mov eax,dword ptr [edx+4] | |
00AD1312 lea esi,[eax+ecx*4] | |
00AD1315 test ebx,ebx | |
00AD1317 je 00AD132F | |
00AD1319 movzx eax,word ptr [ebx+8] | |
00AD131D add eax,dword ptr [ebx+4] | |
00AD1320 lea ecx,[eax+eax*4] | |
00AD1323 mov eax,dword ptr [ebp+8] | |
00AD1326 mov eax,dword ptr [eax+4] | |
00AD1329 mov eax,dword ptr [eax+4] | |
00AD132C lea ebx,[eax+ecx*4] | |
00AD132F cmp esi,ebx | |
00AD1331 je 00AD1356 | |
00AD1333 mov ecx,dword ptr [esp+14h] | |
00AD1337 lea eax,[esp+18h] | |
00AD133B push eax | |
00AD133C mov dword ptr [esp+1Ch],esi | |
00AD1340 mov dword ptr [esp+20h],edx | |
00AD1344 call 00AD12E0 | |
00AD1349 mov edx,dword ptr [esp+10h] | |
00AD134D add esi,14h | |
00AD1350 add edi,eax | |
00AD1352 cmp esi,ebx | |
00AD1354 jne 00AD1333 | |
00AD1356 mov eax,edi | |
00AD1358 pop edi | |
00AD1359 pop esi | |
00AD135A pop ebx | |
00AD135B mov esp,ebp | |
00AD135D pop ebp | |
00AD135E ret 4 | |
--- No source file ------------------------------------------------------------- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
00402530 push ebp | |
00402531 mov ebp,esp | |
00402533 push ebx | |
00402534 push edi | |
00402535 push esi | |
00402536 and esp,0FFFFFFF8h | |
0040253C sub esp,18h | |
0040253F mov dword ptr [esp+4],ecx | |
00402543 mov ecx,dword ptr [edx] | |
00402545 mov bx,word ptr [ecx+8] | |
00402549 mov eax,1 | |
0040254E test bx,bx | |
00402551 je fn"fn"(2018)+5Ah (040258Ah) | |
00402553 mov esi,dword ptr [edx+4] | |
00402556 imul edi,dword ptr [ecx+4],14h | |
0040255A add edi,dword ptr [esi+1Ch] | |
0040255D mov eax,1 | |
00402562 nop | |
00402563 nop | |
00402564 nop | |
00402565 nop | |
00402566 nop | |
00402567 nop | |
00402568 nop | |
00402569 nop | |
0040256A nop | |
0040256B nop | |
0040256C nop | |
0040256D nop | |
0040256E nop | |
0040256F nop | |
00402570 mov dword ptr [esp+8],edi | |
00402574 add edi,14h | |
00402577 mov dword ptr [esp+0Ch],esi | |
0040257B mov ecx,eax | |
0040257D lea edx,[esp+8] | |
00402581 call fn"fn"(2018) (0402530h) | |
00402586 dec bx | |
00402588 jne fn"fn"(2018)+40h (0402570h) | |
0040258A add eax,dword ptr [esp+4] | |
0040258E lea esp,[ebp-0Ch] | |
00402591 pop esi | |
00402592 pop edi | |
00402593 pop ebx | |
00402594 pop ebp | |
00402595 ret |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
004016E0 cmp esp,dword ptr fs:[14h] | |
004016E7 ja 004016F9 | |
004016E9 push 4 | |
004016EE push 14h | |
004016F3 call 00402ED4 | |
004016F8 ret | |
004016F9 push ebp | |
004016FA push ebx | |
004016FB push edi | |
004016FC push esi | |
004016FD push eax | |
004016FE mov esi,edx | |
00401700 mov edi,1 | |
00401705 test si,si | |
00401708 je 00401738 | |
0040170A mov ebx,dword ptr [esp+18h] | |
0040170E mov eax,dword ptr [ebx+1Ch] | |
00401711 imul ecx,ecx,14h | |
00401714 lea ebp,[eax+ecx+8] | |
00401718 mov edi,1 | |
0040171D nop dword ptr [eax] | |
00401720 mov ecx,dword ptr [ebp-4] | |
00401723 movzx edx,word ptr [ebp] | |
00401727 mov dword ptr [esp],ebx | |
0040172A call 004016E0 | |
0040172F add edi,eax | |
00401731 add ebp,14h | |
00401734 dec si | |
00401736 jne 00401720 | |
00401738 mov eax,edi | |
0040173A add esp,4 | |
0040173D pop esi | |
0040173E pop edi | |
0040173F pop ebx | |
00401740 pop ebp | |
00401741 ret |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
0000000000401C60 push r15 | |
0000000000401C62 push r14 | |
0000000000401C64 push rsi | |
0000000000401C65 push rdi | |
0000000000401C66 push rbx | |
0000000000401C67 sub rsp,30h | |
0000000000401C6B mov rax,qword ptr [rcx] | |
0000000000401C6E mov bx,word ptr [rax+8] | |
0000000000401C72 mov eax,dword ptr [rax+4] | |
0000000000401C75 test bx,bx | |
0000000000401C78 mov esi,1 | |
0000000000401C7D je 0000000000401CBD | |
0000000000401C7F mov r15,qword ptr [rcx+8] | |
0000000000401C83 lea rdi,[rax+rax*4] | |
0000000000401C87 shl rdi,2 | |
0000000000401C8B add rdi,qword ptr [r15+38h] | |
0000000000401C8F je 0000000000401CBD | |
0000000000401C91 mov esi,1 | |
0000000000401C96 lea r14,[rsp+20h] | |
0000000000401C9B nop dword ptr [rax+rax] | |
0000000000401CA0 mov qword ptr [rsp+20h],rdi | |
0000000000401CA5 add rdi,14h | |
0000000000401CA9 mov qword ptr [rsp+28h],r15 | |
0000000000401CAE mov rcx,r14 | |
0000000000401CB1 call 0000000000401C60 | |
0000000000401CB6 add esi,eax | |
0000000000401CB8 dec bx | |
0000000000401CBB jne 0000000000401CA0 | |
0000000000401CBD mov eax,esi | |
0000000000401CBF add rsp,30h | |
0000000000401CC3 pop rbx | |
0000000000401CC4 pop rdi | |
0000000000401CC5 pop rsi | |
0000000000401CC6 pop r14 | |
0000000000401CC8 pop r15 | |
0000000000401CCA ret |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment