Здравствуйте! Как можно с помощью ассемблерных вставок получить сведения о процессоре? Дополнено. Вот нашел команду cpuid и код: mov ЕАХ,О cpuid ;EAX=0001h mov mem, ЕВХ mov mem+4, EDX mov mem+8, ECX ;mem='Genuinelntel' cpuid EAX=543h (например) ,EDX = lBFh Но как это сделать вставкой на том же C?
Ответ
Инструкция cpuid предназначена для получения информации о процессоре. Для некоторых компиляторов она доступна как расширение языка __cpuid. Пример использования
int main()
{
int a, b;
for (a = 0; a < 3; a++) {
__asm("cpuid":"=a"(b) // EAX - в b (вывод)
: "a"(a) // a - в EAX (ввод)
: "%ebx", "%ecx", "%edx"); // cpuid всегда задействует их
printf("Этот код %i дает %i
", a, b);
}
return 0;
}
Комментариев нет:
Отправить комментарий