You are not logged in.
Pages: 1
Имеется процедура (Vice City):
.text:005FC980 ; =============== S U B R O U T I N E ======================================= .text:005FC980 .text:005FC980 .text:005FC980 CRadio__SetRadioStation proc near ; CODE XREF: CAudio__SetRadiostation+16p .text:005FC980 .text:005FC980 arg_0 = dword ptr 4 .text:005FC980 arg_4 = dword ptr 8 .text:005FC980 .text:005FC980 000 push ebx .text:005FC981 004 mov ebx, ecx .text:005FC983 004 cmp byte ptr [ebx], 0 .text:005FC986 004 mov edx, [esp+4+arg_0] .text:005FC98A 004 mov eax, [esp+4+arg_4] .text:005FC98E 004 jz short loc_5FC9CB .text:005FC990 004 cmp edx, 9 .text:005FC993 004 jnz short loc_5FC99A .text:005FC995 004 mov edx, 0Ah .text:005FC99A .text:005FC99A loc_5FC99A: ; CODE XREF: CRadio__SetRadioStation+13j .text:005FC99A 004 cmp edx, 23 .text:005FC99D 004 ja short loc_5FC9CB .text:005FC99F 004 cmp eax, 0FFFFFFFFh .text:005FC9A2 004 mov byte ptr [ebx+3978h], 1 .text:005FC9A9 004 mov [ebx+3979h], dl .text:005FC9AF 004 jz short loc_5FC9C4 .text:005FC9B1 004 mov ecx, edx .text:005FC9B3 004 xor edx, edx .text:005FC9B5 004 lea ecx, [ecx+ecx*2] .text:005FC9B8 004 div dword ptr [ebx+ecx*4+10h] .text:005FC9BC 004 mov [ebx+397Ch], edx .text:005FC9C2 004 jmp short loc_5FC9CB .text:005FC9C4 ; --------------------------------------------------------------------------- .text:005FC9C4 .text:005FC9C4 loc_5FC9C4: ; CODE XREF: CRadio__SetRadioStation+2Fj .text:005FC9C4 004 or dword ptr [ebx+397Ch], 0FFFFFFFFh .text:005FC9CB .text:005FC9CB loc_5FC9CB: ; CODE XREF: CRadio__SetRadioStation+Ej .text:005FC9CB ; CRadio__SetRadioStation+1Dj .text:005FC9CB ; CRadio__SetRadioStation+42j .text:005FC9CB 004 pop ebx .text:005FC9CC 000 retn 8 .text:005FC9CC CRadio__SetRadioStation endp
Вопрос: как узнать процедура/функция ли это, тип вызова (cdecl, stdcall ....).
И ещё: у этой процедуры два параметра: 1 - DWORD, 2 - WORD. Правильно определил или нет?
Last edited by RDH (13-08-2011 16:55)
Offline
Как отвечать на такие вопросы написано здесь: http://sannybuilder.com/forums/viewtopic.php?id=941
В данном случае CRadio__SetRadioStation proc является методом. Помимо параметра, записанного в ecx, передаётся ещё два параметра (arg_0 и arg_4), представляющие собой 4-х байтовые целые числа (dword).
Offline
Т.е. это thiscall, и в delphi ее можно вызвать только через ассемблер?
Offline
Offline
Pages: 1