mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-26 10:39:14 +02:00

usage in case PIC generation is on (some by adding PIC-versions of the assembler code, most by adding -Cg- to the options to be used). Note: the Intel assembler reader does not yet support the Delphi PIC construct, so tests with that (like test/tasmread and test/tcg1) do not work with -Cg on non-Darwin (Darwin needs a different PIC construct) git-svn-id: trunk@9370 -
37 lines
538 B
ObjectPascal
37 lines
538 B
ObjectPascal
{ %CPU=i386 }
|
|
{ %OPT=-Cg- }
|
|
{$asmmode att}
|
|
|
|
const
|
|
Count=100;
|
|
|
|
type
|
|
trec=record
|
|
a,b,c : longint;
|
|
end;
|
|
|
|
|
|
var
|
|
r : trec;
|
|
begin
|
|
asm
|
|
leal r,%edi
|
|
leal r,%esi
|
|
movl %es:46(%edi),%eax
|
|
movl 2+trec.b(%esi),%eax
|
|
movl $1,%ebx
|
|
movl trec.b(%esi,%ebx,(2*4)),%eax
|
|
movl r(,%ebx,(2*4)),%eax
|
|
xorl %esi,%esi
|
|
movl r.c(,%esi,(2*4)),%eax
|
|
movl Count,%eax
|
|
movl Count*100,%eax
|
|
movl trec.b+2,%eax
|
|
leal r,%esi
|
|
movl trec.b+2(%esi),%eax
|
|
{$ifdef go32v2}
|
|
movl %fs:(0x46c),%eax
|
|
{$endif}
|
|
end;
|
|
end.
|