Program DetectCPUID;

{Test for NON 386 first!!}

function has_cpuid: boolean;
assembler;
asm
   pushfl
   pushfl
   pop  eax
   mov  ecx,eax
   xor  eax,$200000
   push eax
   popfl
   pushfl
   pop  eax
   popfl
   xor  eax,ecx
   setnz al
end ['eax','ecx'];
{Returning al=0 means FALSE}

begin
   writeln('CPUID: ',has_cpuid);
end.