[fpc-pascal] FPC ARM inline Assembler
Vern
vmst at golden.net
Thu Apr 6 19:06:39 CEST 2023
After reading the FPC manual more closely , the correct compiler command
is {$ASMMODE default} where/default /is the native system ... in this
case Orange Pi arm64 and the compiler now allows accepting ARM assembler
instructions.
However it won't allow referencing a Pascal variable.
Here is an example (32-bit) of x86 inline assembler that works correctly
procedure MSBitTest ( DataIn : longword);
var
MSBit : longword;
begin
asm
bsr eax , DataIn
mov MsBit , eax
end;
end;
.......... the ARM version fails (similar code : ignore the fact it is
the reverse of BSR) ... what am I missing ?
procedure MSBitTest ( DataIn : longword);
var
MSBit : longword;
begin
asm
clz w4 , DataIn
mov MsBit , w4
end;
end;
Regards
Vern
On 06/04/2023 11:36 a.m., Sven Barth via fpc-pascal wrote:
> Vern via fpc-pascal <fpc-pascal at lists.freepascal.org> schrieb am Do.,
> 6. Apr. 2023, 17:32:
>
> Does the current FPC compiler support ARM inline assembler ?
>
>
> Yes.
>
>
> If so what is the equivalent ARM command for {$ASMMODE intel}
>
>
> There is none, because only one syntax is supported.
>
> Regards,
> Sven
>
>
> _______________________________________________
> fpc-pascal maillist -fpc-pascal at lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20230406/49344675/attachment.htm>
More information about the fpc-pascal
mailing list