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.