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@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@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal