I understand now why there's no stable OS in the market
You got it.
If I make a program for example that use the AMD's CPUID instruccion, it won't work on intel's micro
CPUID should be quite standardized since late 80486's. You can use
advanced CPU features after verifying the availability of them with CPUID
(after verifying the availability of CPUID

). It should work well, if you code
and test well ... but for example MPLAYER is broken by now because of
faulty CPU [miss]detection code ... and crashes with "illegal instruction" on
some CPU's
