mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-08 21:28:14 +02:00
60 lines
773 B
ObjectPascal
60 lines
773 B
ObjectPascal
{ %CPU=i386 }
|
|
|
|
{$MODE TP}
|
|
{$ifdef FPC}
|
|
{$PIC OFF}
|
|
{$endif FPC}
|
|
|
|
program tasm21a;
|
|
|
|
var
|
|
test2a_ofs, test2b_ofs: longword;
|
|
|
|
procedure Error;
|
|
begin
|
|
Writeln('Error!');
|
|
Halt(1);
|
|
end;
|
|
|
|
function test1a: longword; assembler;
|
|
asm
|
|
mov eax, offset test1a;
|
|
end;
|
|
|
|
function test1b: longword;
|
|
begin
|
|
asm
|
|
mov eax, offset test1b;
|
|
mov @Result, eax
|
|
end;
|
|
end;
|
|
|
|
procedure test2a; assembler;
|
|
asm
|
|
mov eax, offset test2a;
|
|
mov test2a_ofs, eax
|
|
end;
|
|
|
|
procedure test2b;
|
|
begin
|
|
asm
|
|
mov eax, offset test2b;
|
|
mov test2b_ofs, eax
|
|
end;
|
|
end;
|
|
|
|
begin
|
|
if test1a <> Ofs(test1a) then
|
|
Error;
|
|
if test1b <> Ofs(test1b) then
|
|
Error;
|
|
test2a;
|
|
if test2a_ofs <> Ofs(test2a) then
|
|
Error;
|
|
test2b;
|
|
if test2b_ofs <> Ofs(test2b) then
|
|
Error;
|
|
|
|
Writeln('Ok!');
|
|
end.
|