Skip to content

Instantly share code, notes, and snippets.

@barcharcraz
Created August 19, 2014 22:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save barcharcraz/5ed117b13426b150c8fe to your computer and use it in GitHub Desktop.
Save barcharcraz/5ed117b13426b150c8fe to your computer and use it in GitHub Desktop.
non-working version
```
fizzbuzz!fizzbuzzInit:
00992510 55 push ebp
00992511 8bec mov ebp,esp
00992513 83ec28 sub esp,28h
00992516 c745dc40e99c00 mov dword ptr [ebp-24h],offset fizzbuzz!nimNaN+0x7b1c (009ce940)
0099251d c745e44ce99c00 mov dword ptr [ebp-1Ch],offset fizzbuzz!nimNaN+0x7b28 (009ce94c)
00992524 c745e000000000 mov dword ptr [ebp-20h],0
0099252b 33c0 xor eax,eax
0099252d 668945e8 mov word ptr [ebp-18h],ax
00992531 8d4dd8 lea ecx,[ebp-28h]
00992534 51 push ecx
00992535 e846ffffff call fizzbuzz!systemDatInit+0x73a0 (00992480)
0099253a 83c404 add esp,4
0099253d c745e00f060000 mov dword ptr [ebp-20h],60Fh
00992544 c745e45ce99c00 mov dword ptr [ebp-1Ch],offset fizzbuzz!nimNaN+0x7b38 (009ce95c)
0099254b c745fc01000000 mov dword ptr [ebp-4],1
00992552 c745e010060000 mov dword ptr [ebp-20h],610h
00992559 c745e468e99c00 mov dword ptr [ebp-1Ch],offset fizzbuzz!nimNaN+0x7b44 (009ce968)
fizzbuzz!fizzbuzzInit+0x50:
00992560 ba01000000 mov edx,1
00992565 85d2 test edx,edx
00992567 0f84bb010000 je fizzbuzz!fizzbuzzInit+0x218 (00992728)
fizzbuzz!fizzbuzzInit+0x5d:
0099256d c745e010060000 mov dword ptr [ebp-20h],610h
00992574 c745e474e99c00 mov dword ptr [ebp-1Ch],offset fizzbuzz!nimNaN+0x7b50 (009ce974)
0099257b 837dfc64 cmp dword ptr [ebp-4],64h
0099257f 7e05 jle fizzbuzz!fizzbuzzInit+0x76 (00992586)
fizzbuzz!fizzbuzzInit+0x71:
00992581 e9a2010000 jmp fizzbuzz!fizzbuzzInit+0x218 (00992728)
fizzbuzz!fizzbuzzInit+0x76:
00992586 c745e00f060000 mov dword ptr [ebp-20h],60Fh
0099258d c745e480e99c00 mov dword ptr [ebp-1Ch],offset fizzbuzz!nimNaN+0x7b5c (009ce980)
00992594 8b45fc mov eax,dword ptr [ebp-4]
00992597 a3d0129d00 mov dword ptr [fizzbuzz!i_88025 (009d12d0)],eax
0099259c c745e006000000 mov dword ptr [ebp-20h],6
009925a3 c745e48ce99c00 mov dword ptr [ebp-1Ch],offset fizzbuzz!nimNaN+0x7b68 (009ce98c)
009925aa c745e006000000 mov dword ptr [ebp-20h],6
009925b1 c745e49ce99c00 mov dword ptr [ebp-1Ch],offset fizzbuzz!nimNaN+0x7b78 (009ce99c)
009925b8 c745e006000000 mov dword ptr [ebp-20h],6
009925bf c745e4ace99c00 mov dword ptr [ebp-1Ch],offset fizzbuzz!nimNaN+0x7b88 (009ce9ac)
009925c6 ba0f000000 mov edx,0Fh
009925cb 8b0dd0129d00 mov ecx,dword ptr [fizzbuzz!i_88025 (009d12d0)]
009925d1 e8bbeffdff call fizzbuzz!ILT+1420(modInt (00971591)
009925d6 8945f4 mov dword ptr [ebp-0Ch],eax
009925d9 837df400 cmp dword ptr [ebp-0Ch],0
009925dd 7402 je fizzbuzz!fizzbuzzInit+0xd1 (009925e1)
fizzbuzz!fizzbuzzInit+0xcf:
009925df eb2a jmp fizzbuzz!fizzbuzzInit+0xfb (0099260b)
fizzbuzz!fizzbuzzInit+0xd1:
009925e1 c745e007000000 mov dword ptr [ebp-20h],7
009925e8 c745e4bce99c00 mov dword ptr [ebp-1Ch],offset fizzbuzz!nimNaN+0x7b98 (009ce9bc)
009925ef 684cb79b00 push offset fizzbuzz!_xmm+0x2c (009bb74c)
009925f4 683cb79b00 push offset fizzbuzz!_xmm+0x1c (009bb73c)
009925f9 68cce99c00 push offset fizzbuzz!nimNaN+0x7ba8 (009ce9cc)
009925fe e854570000 call fizzbuzz!printf (00997d57)
00992603 83c40c add esp,0Ch
00992606 e9fa000000 jmp fizzbuzz!fizzbuzzInit+0x1f5 (00992705)
fizzbuzz!fizzbuzzInit+0xfb:
0099260b c745e008000000 mov dword ptr [ebp-20h],8
00992612 c745e4d4e99c00 mov dword ptr [ebp-1Ch],offset fizzbuzz!nimNaN+0x7bb0 (009ce9d4)
00992619 c745e008000000 mov dword ptr [ebp-20h],8
00992620 c745e4e4e99c00 mov dword ptr [ebp-1Ch],offset fizzbuzz!nimNaN+0x7bc0 (009ce9e4)
00992627 ba05000000 mov edx,5
0099262c 8b0dd0129d00 mov ecx,dword ptr [fizzbuzz!i_88025 (009d12d0)]
00992632 e85aeffdff call fizzbuzz!ILT+1420(modInt (00971591)
00992637 8945f0 mov dword ptr [ebp-10h],eax
0099263a 837df000 cmp dword ptr [ebp-10h],0
0099263e 7402 je fizzbuzz!fizzbuzzInit+0x132 (00992642)
fizzbuzz!fizzbuzzInit+0x130:
00992640 eb25 jmp fizzbuzz!fizzbuzzInit+0x157 (00992667)
fizzbuzz!fizzbuzzInit+0x132:
00992642 c745e009000000 mov dword ptr [ebp-20h],9
00992649 c745e4f4e99c00 mov dword ptr [ebp-1Ch],offset fizzbuzz!nimNaN+0x7bd0 (009ce9f4)
00992650 684cb79b00 push offset fizzbuzz!_xmm+0x2c (009bb74c)
00992655 6804ea9c00 push offset fizzbuzz!nimNaN+0x7be0 (009cea04)
0099265a e8f8560000 call fizzbuzz!printf (00997d57)
0099265f 83c408 add esp,8
00992662 e99e000000 jmp fizzbuzz!fizzbuzzInit+0x1f5 (00992705)
fizzbuzz!fizzbuzzInit+0x157:
00992667 c745e00a000000 mov dword ptr [ebp-20h],0Ah
0099266e c745e40cea9c00 mov dword ptr [ebp-1Ch],offset fizzbuzz!nimNaN+0x7be8 (009cea0c)
00992675 c745e00a000000 mov dword ptr [ebp-20h],0Ah
0099267c c745e41cea9c00 mov dword ptr [ebp-1Ch],offset fizzbuzz!nimNaN+0x7bf8 (009cea1c)
00992683 ba03000000 mov edx,3
00992688 8b0dd0129d00 mov ecx,dword ptr [fizzbuzz!i_88025 (009d12d0)]
0099268e e8feeefdff call fizzbuzz!ILT+1420(modInt (00971591)
00992693 8945ec mov dword ptr [ebp-14h],eax
00992696 837dec00 cmp dword ptr [ebp-14h],0
0099269a 7402 je fizzbuzz!fizzbuzzInit+0x18e (0099269e)
fizzbuzz!fizzbuzzInit+0x18c:
0099269c eb22 jmp fizzbuzz!fizzbuzzInit+0x1b0 (009926c0)
fizzbuzz!fizzbuzzInit+0x18e:
0099269e c745e00b000000 mov dword ptr [ebp-20h],0Bh
009926a5 c745e42cea9c00 mov dword ptr [ebp-1Ch],offset fizzbuzz!nimNaN+0x7c08 (009cea2c)
009926ac 683cb79b00 push offset fizzbuzz!_xmm+0x1c (009bb73c)
009926b1 683cea9c00 push offset fizzbuzz!nimNaN+0x7c18 (009cea3c)
009926b6 e89c560000 call fizzbuzz!printf (00997d57)
009926bb 83c408 add esp,8
009926be eb45 jmp fizzbuzz!fizzbuzzInit+0x1f5 (00992705)
fizzbuzz!fizzbuzzInit+0x1b0:
009926c0 c745e00d000000 mov dword ptr [ebp-20h],0Dh
009926c7 c745e444ea9c00 mov dword ptr [ebp-1Ch],offset fizzbuzz!nimNaN+0x7c20 (009cea44)
009926ce c745e00d000000 mov dword ptr [ebp-20h],0Dh
009926d5 c745e454ea9c00 mov dword ptr [ebp-1Ch],offset fizzbuzz!nimNaN+0x7c30 (009cea54)
009926dc c745f800000000 mov dword ptr [ebp-8],0
009926e3 8b0dd0129d00 mov ecx,dword ptr [fizzbuzz!i_88025 (009d12d0)]
009926e9 e867e9fdff call fizzbuzz!ILT+80(nimIntToStr (00971055)
009926ee 8945f8 mov dword ptr [ebp-8],eax
009926f1 8b4df8 mov ecx,dword ptr [ebp-8]
009926f4 83c108 add ecx,8
009926f7 51 push ecx
009926f8 6864ea9c00 push offset fizzbuzz!nimNaN+0x7c40 (009cea64)
009926fd e855560000 call fizzbuzz!printf (00997d57)
00992702 83c408 add esp,8
fizzbuzz!fizzbuzzInit+0x1f5:
00992705 c745e012060000 mov dword ptr [ebp-20h],612h
0099270c c745e46cea9c00 mov dword ptr [ebp-1Ch],offset fizzbuzz!nimNaN+0x7c48 (009cea6c)
00992713 ba01000000 mov edx,1
00992718 8b4dfc mov ecx,dword ptr [ebp-4]
0099271b e800ecfdff call fizzbuzz!ILT+795(addInt (00971320)
00992720 8945fc mov dword ptr [ebp-4],eax
00992723 e938feffff jmp fizzbuzz!fizzbuzzInit+0x50 (00992560)
fizzbuzz!fizzbuzzInit+0x218:
00992728 e8c3fdffff call fizzbuzz!systemDatInit+0x7410 (009924f0)
0099272d 8be5 mov esp,ebp
0099272f 5d pop ebp
00992730 c3 ret
0:000> uf modInit
Couldn't resolve error at 'modInit'
0:000> uf modInt
fizzbuzz!modInt [c:\users\charlie\source\nimrod\lib\system\arithm.nim @ 157]:
157 00980320 8b45fc mov eax,dword ptr [ebp-4]
160 00980323 8b4df8 mov ecx,dword ptr [ebp-8]
161 00980326 33d2 xor edx,edx
162 00980328 f7f9 idiv eax,ecx
163 0098032a 7105 jno fizzbuzz!modInt+0x11 (00980331)
fizzbuzz!modInt+0xc [c:\users\charlie\source\nimrod\lib\system\arithm.nim @ 164]:
164 0098032c e8a211ffff call fizzbuzz!ILT+1230(_raiseOverflow) (009714d3)
fizzbuzz!modInt+0x11 [c:\users\charlie\source\nimrod\lib\system\arithm.nim @ 166]:
166 00980331 8bc2 mov eax,edx
167 00980333 c3 ret
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment