Witam wszystkich i bardzo proszę o pomoc.
Próbuje rozgryźć wbudowaną funkcję Delphi - StrScan, której kod napisany został w asemblerze. Zawiera zaledwie 15 linijek kodu, ale nie potrafię w żaden sposób zrozumieć, jednej linijki kodu. Wygląda to tak:
function StrScan(Str:PChar;Chr:Char):PChar:assembler;
asm
PUSH EDI
PUSH EAX
MOV EDI,Str
. . .
end;
Do funkcji wprowadzam łańcuch składający się z trzech znaków '1/2', który w samej funkcji dostępny jest pod nazwą Str. W drugim parametrze znajduje się znak '/', który funkcja ma znaleźć. Po wykonaniu instrukcji:
MOV EDI,Str
rejestr EDI zawiera wartość 9644044. DLACZEGO! Od tego miejsca nie potrafię ruszyć dalej, dlatego błagam o pomoc.