Author: Chrilly Donninger
Date: 09:18:50 12/12/05
Go up one level in this thread
>> >>.text:0040D156 call sub_40D1B0 >>.text:0040D15B mov esi, eax >>.text:0040D15D lea eax, [esp+278h+var_238] >>.text:0040D161 push eax >>.text:0040D162 push edi >>.text:0040D163 neg esi >>.text:0040D165 call sub_40A780 >>.text:0040D16A add esp, 18h >>.text:0040D16D cmp esi, [esp+268h+var_25C] >>.text:0040D171 jle short loc_40D183 >>.text:0040D173 cmp esi, ebx >>.text:0040D175 mov [esp+268h+var_25C], esi >>.text:0040D179 jle short loc_40D183 >>.text:0040D17B cmp esi, [ebp+arg_4] >>.text:0040D17E mov [ebp+arg_0], esi >>.text:0040D181 jge short loc_40D13A >> >> >>Chrilly > >How can you tell? And how on earth did you find it? > >anthony There is a nice tool, called IDA-Pro. (IDA=Interactive DissAssembler). IDA produces the code above. And then one needs some (assembler) experience to read this. E.g. [ebp+arg_0] means the first argument to the function. And if one follows somewhat the logic, one sees that this is alpha, [ebp+arg_4] is argument 1 or beta. In Pseudo-Code the code above reads as: val=-Quiescence(...); UndoMove if(val>bestscore) { bestscore=val; } if(val>alpha) { alpha=val; } if(val>beta) { return val; } // Actually goto return-sequence. All programms are open-source. Some opensource is only more difficult to read than other. Dissassembling is no efficient way to improve one owns code. It does not help, if one knows, that programm X has a nice trick. The trick must fit in one owns programm/architecture. Usually it does not. E.g the well documented Fruit History-Pruning did not work at all in Hydra. Dissassembling is just an old hackers fun. Chrilly
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.