Вверх ↑
Ответов: 9906
Рейтинг: 351
#1: 2007-06-29 22:05:23 ЛС | профиль | цитата
Наблюдение:

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
карма: 9

0