Thanks. It seems that
mov al, dl
as well as
xor al, dl
gives error too. I created a bug report
http://bugs.freepascal.org/view.php?id=12595
Daniël Mantione wrote:
Op Sat, 8 Nov 2008, schreef ABorka:
Hi,
I'm converting a Delphi program to FPC/lazarus and I did hit a snag
with an asm code part (win32, latest fpc and lazarus svn trunk is used).
I know it is probably simple to fix, but I cannot seem to be able to
figure it out:
function something(s :String; i: Integer):String;
var tmp:Array[0..32768]of byte;
begin
.
.
{$ASMMODE intel}
asm
pushad
mov edi, offset tmp
add edi, ebp
.
.
popad
end;
end;
The compiler gives "Error: Cannot use local variable or parameters
here" at line "mov edi, offset tmp" .
How can I get the offset of a local variable into a register?
This seems like an incompatibility you might want to report. However,
you can replace the mov & add by:
lea edi,tmp
... whould should be accepted by FPC.
Daniël
------------------------------------------------------------------------
_______________________________________________
fpc-devel maillist - [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-devel
_______________________________________________
fpc-devel maillist - [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-devel