он только в пертиуме появился. http://ru.osdev.wikia.com/wiki/CR0 а я про 386 486 говорю, где еще cpuid нет.
Phantom_84 я тебя не узнаю. то ты пишешь mbr совместимых с 8086. то говоришь что все новые процессоры 32 битные (то есть есть eflag 21бит) и все с fpu. у меня например еще есть 386(16мг). и вполне нормально работает, только собирать надо каждый раз. еслиб надо было отказаться от совместимости, то тогда процессоры сразу при старте могли бы работать в защаищенном режиме и bios сделали бы 32 битным.
Если ты будешь так искажать мои высказывания, то я скоро сам перестану себя узнавать. По поводу бита ET. Вот скажи, зачем вводить бит, который всегда равен 1? А начиная с пентиумов это именно так. Я тебе как раз и предложил вариант, который работает в i386 и i486, а не только в процах, поддерживающих cpuid.
я думаю еслиб это было так просто. то интел не давал бы пример кода похожий на мой. на счет бита ты прав. в 386 и 486 он означал расширенные возможности(fpu), но потом он стал резервным и имеет значение 1(всегда). но за вариант спасибо.
Он стал резервным, потому что перестал быть вариативным. Но его значение не перестало быть актуальным. Бит ET позволяет определить наличие встроенного FPU, а наличие отдельного сопроцессора определяется дополнительно и только в том случае, когда ET=0.