Re: Fastcode CharPosRev B&V 0.6.0
- From: "Davy Landman" <davy.landman@xxxxxxxxx>
- Date: Mon, 27 Nov 2006 19:59:55 +0100
Hi,
while mine solution:I was just looking again at the problem.. and actualy learning a bit more
mov eax,edi
xor edx,edx
push edx
push eax
mov eax,esi
sub eax,$0c
cdq
add eax,[esp]
adc edx,[esp+$04]
add esp,$08
so that's a bummer :(
anyone have an better idea?
basm on the way..
and I learned the cdq has to do with the negative carry bit..
but we know because adresses are > 0 it can't be an negative result (if we
rewrite the P := part delphi will figure that out too!)
so
P := Pointer((Cardinal(S) + Cardinal(Result)) - 12);
that will keep it smaller...
but the part where it's slower is that delphi chooses some different
registers and pushes en pops more..
Regards,
Davy Landman
.
- Follow-Ups:
- Re: Fastcode CharPosRev B&V 0.6.0
- From: Davy Landman
- Re: Fastcode CharPosRev B&V 0.6.0
- References:
- Fastcode CharPosRev B&V 0.6.0
- From: Dennis
- Re: Fastcode CharPosRev B&V 0.6.0
- From: Davy Landman
- Re: Fastcode CharPosRev B&V 0.6.0
- From: John O'Harrow
- Re: Fastcode CharPosRev B&V 0.6.0
- From: Davy Landman
- Fastcode CharPosRev B&V 0.6.0
- Prev by Date: Re: Fastcode CharPosRev B&V 0.6.0
- Next by Date: Re: Fastcode SpreadsheetCreator 0.9.8
- Previous by thread: Re: Fastcode CharPosRev B&V 0.6.0
- Next by thread: Re: Fastcode CharPosRev B&V 0.6.0
- Index(es):