Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
fpc-src / usr / share / fpcsrc / 3.2.0 / tests / test / tasm15a.pp
Size: Mime:
{ %CPU=x86_64 }

const
  expect: array [0..47] of byte = (
    $C3,              // ret
    $C2,$05,$00,      // ret 5
    $C3,              // retn
    $C2,$05,$00,      // retn 5
    $CB,              // retf
    $CA,$05,$00,      // retf 5
    $66,$C3,          // retw
    $66,$C2,$05,$00,  // retw 5
    $66,$C3,          // retnw
    $66,$C2,$05,$00,  // retnw 5
    $66,$CB,          // retfw
    $66,$CA,$05,$00,  // retfw 5
    $CB,              // retfd
    $CA,$05,$00,      // retfd 5
    $C3,              // retq
    $C2,$05,$00,      // retq 5
    $C3,              // retnq
    $C2,$05,$00,      // retnq 5
    $48,$CB,          // retfq
    $48,$CA,$05,$00   // retfq 5
  );

{$asmmode intel}
procedure test; assembler; nostackframe;
asm
  ret
  ret 5
  retn
  retn 5
  retf
  retf 5
  retw
  retw 5
  retnw
  retnw 5
  retfw
  retfw 5
  retfd
  retfd 5
  retq
  retq 5
  retnq
  retnq 5
  retfq
  retfq 5
end;

{$asmmode att}
procedure test2; assembler; nostackframe;
asm
  ret
  ret $5
  ret
  ret $5
  lret
  lret $5
  retw
  retw $5
  retw
  retw $5
  lretw
  lretw $5
  lret
  lret $5
  retq
  retq $5
  retq
  retq $5
  lretq
  lretq $5
end;

procedure Error;
begin
  Writeln('Error!');
  Halt(1);
end;

begin
  if CompareByte(Pointer(@test)^, expect, SizeOf(expect)) <> 0 then
    Error;
  if CompareByte(Pointer(@test2)^, expect, SizeOf(expect)) <> 0 then
    Error;
  Writeln('Ok!')
end.