Наблюдение:
FPC-2.04 - такой же балбес, как и 1.96
Да простят меня за "неполиткорректность"
Вот во что он превращает сделанные нами коды для примера frm.sha
.00403FE0: 55 push ebp
.00403FE1: 89E5 mov ebp,esp .00403FE3: 83EC28 sub esp,028 ;"(" .00403FE6: 8945FC mov [ebp][-04],eax .00403FE9: A140C34000 mov eax,[0040C340] .00403FEE: E86D380000 call .000407860 .00403FF3: A300E74000 mov [0040E700],eax .00403FF8: 8B1560C34000 mov edx,[0040C360] .00403FFE: A100E74000 mov eax,[0040E700] .00404003: E8D8380000 call .0004078E0 .00404008: 8B55FC mov edx,[ebp][-04] .0040400B: 894204 mov [edx][04],eax .0040400E: 8B45FC mov eax,[ebp][-04] .00404011: 8B4004 mov eax,[eax][04] .00404014: 8945F8 mov [ebp][-08],eax .00404017: BA2C010000 mov edx,00000012C .0040401C: 8B45F8 mov eax,[ebp][-08] .0040401F: E83C390000 call .000407960 .00404024: 8B45FC mov eax,[ebp][-04] .00404027: 8B4004 mov eax,[eax][04] .0040402A: 8945F4 mov [ebp][-0C],eax .0040402D: BAC8000000 mov edx,0000000C8 .00404032: 8B45F4 mov eax,[ebp][-0C] .00404035: E876390000 call .0004079B0 .0040403A: 8B1580C34000 mov edx,[0040C380] .00404040: 8B45FC mov eax,[ebp][-04] .00404043: 8B4004 mov eax,[eax][04] .00404046: E8B5390000 call .000407A00 .0040404B: 8B55FC mov edx,[ebp][-04] .0040404E: 894208 mov [edx][08],eax .00404051: 8B45FC mov eax,[ebp][-04] .00404054: 8B4008 mov eax,[eax][08] .00404057: 8945F0 mov [ebp][-10],eax .0040405A: BA64000000 mov edx,000000064 .0040405F: 8B45F0 mov eax,[ebp][-10] .00404062: E8193A0000 call .000407A80 .00404067: 8B45FC mov eax,[ebp][-04] .0040406A: 8B4008 mov eax,[eax][08] .0040406D: 8945EC mov [ebp][-14],eax .00404070: BA14000000 mov edx,000000014 .00404075: 8B45EC mov eax,[ebp][-14] .00404078: E8633A0000 call .000407AE0 .0040407D: 8B45FC mov eax,[ebp][-04] .00404080: 8B5008 mov edx,[eax][08] .00404083: 8B45FC mov eax,[ebp][-04] .00404086: 8945E4 mov [ebp][-1C],eax .00404089: B820414000 mov eax,000404120 .0040408E: 8945E0 mov [ebp][-20],eax .00404091: 8B45E0 mov eax,[ebp][-20] .00404094: 898268010000 mov [edx][00000168],eax .0040409A: 8B45E4 mov eax,[ebp][-1C] .0040409D: 89826C010000 mov [edx][0000016C],eax .004040A3: 8B15A0C34000 mov edx,[0040C3A0] .004040A9: 8B45FC mov eax,[ebp][-04] .004040AC: 8B4004 mov eax,[eax][04] .004040AF: E84C390000 call .000407A00 .004040B4: 8B55FC mov edx,[ebp][-04] .004040B7: 89420C mov [edx][0C],eax .004040BA: 8B45FC mov eax,[ebp][-04] .004040BD: 8B400C mov eax,[eax][0C] .004040C0: 8945E0 mov [ebp][-20],eax .004040C3: BA64000000 mov edx,000000064 .004040C8: 8B45E0 mov eax,[ebp][-20] .004040CB: E8B0390000 call .000407A80 .004040D0: 8B45FC mov eax,[ebp][-04] .004040D3: 8B400C mov eax,[eax][0C] .004040D6: 8945E4 mov [ebp][-1C],eax .004040D9: BA3C000000 mov edx,00000003C .004040DE: 8B45E4 mov eax,[ebp][-1C] .004040E1: E8FA390000 call .000407AE0 .004040E6: 8B45FC mov eax,[ebp][-04] .004040E9: 8B500C mov edx,[eax][0C] .004040EC: 8B45FC mov eax,[ebp][-04] .004040EF: 8945DC mov [ebp][-24],eax .004040F2: B850414000 mov eax,000404150 .004040F7: 8945D8 mov [ebp][-28],eax .004040FA: 8B45D8 mov eax,[ebp][-28] .004040FD: 898268010000 mov [edx][00000168],eax .00404103: 8B45DC mov eax,[ebp][-24] .00404106: 89826C010000 mov [edx][0000016C],eax .0040410C: B800E74000 mov eax,00040E700 ;" @з " .00404111: E82A3A0000 call .000407B40 .00404116: C9 leave .00404117: C3 retn
.00404120: 55 push ebp .00404121: 89E5 mov ebp,esp .00404123: 83EC08 sub esp,008 ;" " .00404126: 8945F8 mov [ebp][-08],eax .00404129: 8955FC mov [ebp][-04],edx .0040412C: 6A00 push 000 .0040412E: A1C0C34000 mov eax,[0040C3C0] .00404133: 50 push eax .00404134: A1E0C34000 mov eax,[0040C3E0] .00404139: 50 push eax .0040413A: 8B45F8 mov eax,[ebp][-08] .0040413D: 8B4004 mov eax,[eax][04] .00404140: FF7028 push d,[eax][28] .00404143: E8D8360000 call MessageBoxA ;user32 .00404148: C9 leave .00404149: C3 retn
.00404150: 55 push ebp .00404151: 89E5 mov ebp,esp .00404153: 83EC10 sub esp,010 ;" " .00404156: 8945F8 mov [ebp][-08],eax .00404159: 8955FC mov [ebp][-04],edx .0040415C: C745F400000000 mov d,[ebp][-0C],000000000 .00404163: FF4DF4 dec d,[ebp][-0C] .00404166: 89F6 mov esi,esi .00404168: FF45F4 inc d,[ebp][-0C] .0040416B: 8B45F4 mov eax,[ebp][-0C] .0040416E: 8945F0 mov [ebp][-10],eax .00404171: 817DF010270000 cmp d,[ebp][-10],000002710 .00404178: 7F1F jg .000404199 .0040417A: FF4DF0 dec d,[ebp][-10] .0040417D: 8D7600 lea esi,[esi][00] .00404180: FF45F0 inc d,[ebp][-10] .00404183: B265 mov dl,065 ;"e" .00404185: 8B45F8 mov eax,[ebp][-08] .00404188: 8D4010 lea eax,[eax][10] .0040418B: E890030000 call .000404520 .00404190: 817DF010270000 cmp d,[ebp][-10],000002710 .00404197: 7CE7 jl .000404180 .00404199: 817DF4E8030000 cmp d,[ebp][-0C],0000003E8 .004041A0: 7CC6 jl .000404168 .004041A2: 6A00 push 000 .004041A4: A100C44000 mov eax,[0040C400] .004041A9: 50 push eax .004041AA: A120C44000 mov eax,[0040C420] .004041AF: 50 push eax .004041B0: 8B45F8 mov eax,[ebp][-08] .004041B3: 8B4004 mov eax,[eax][04] .004041B6: FF7028 push d,[eax][28] .004041B9: E862360000 call MessageBoxA ;user32 .004041BE: C9 leave .004041BF: C3 retn
|