ich hab den
asm-code nochmal angeguckt
wenn ich die funktion einmal aufrufe, reicht das:
Delphi-Quellcode:
function fib(von: integer): integer;
assembler;
asm
mov ecx, von
mov eax, 1
mov ebx, 0
cmp ecx, 2
jbe @@endoffib
sub ecx, 1
@@startLoop:
mov edx, ebx
mov ebx, eax
add eax, edx
sub ecx, 1
jnz @@startLoop
@@endoffib:
mov result, eax
end;
wenn ich sie in einer for-schleife aufruf, muss ich
Delphi-Quellcode:
//Das am anfang:
push eax
push ebx
push ecx
push edx
//und das am ende:
pop edx
pop ecx
pop ebx
pop eax
anhängen
Edit: source ausgebessert