/p>
Приклад:
eax, 0 cpuid
mov dword ptr [stm], EBX; Genu
mov dword ptr [stm +4], EDX; inel
mov dword ptr [stm +8], ECX; ntel
mov ah, 9
lea dx, stm; Genuinelntel
int 21h
1.2 Визначення функцій
При виклику CPUID з EAX = 1, в регістрі EAX повертається інформація про тип, моделі і степпінге (зміни в рамках однієї моделі) процесора.
Ці значення розшифровуються за спеціальними таблицями. br/>
Еах [00:03] - степпінг (stepping)
Еах [7:04] - модель (model)
Еах [11:08] - сімейство (family)
Еах [13:12] - тип (type)
Еах [15:14] - резерв (reserved)
Еах [19:16] - розширена модель (тільки Pentium 4)
Еах [23:20] - розширене сімейство (тільки Pentium 4)
Еах [31:24] - резерв (reserved)
ЕВХ [07:00] - бренд-індекс (brand-index)
ЕВХ [15:08] - довжина рядка, що очищається інструкцією CLFLUSH (Pentium4)
ЕВХ [23:16] - резерв
ЕВХ [31:24] - ідентифікатор APIC процесора.
ЕСХ-0
містить інформацію про різні розширеннях архітектури (якщо певний біт дорівнює 1 - розширення підтримується). Нижче наведена таблиця 1. br/>
Таблиця 1 - значення основних біт регістра EDX
БітОпісаніе0Налічіе сопроцессора1Расшіреніе для режиму V86, наявність прапорів VIP та VIF в EFLAGS2Расшіренія налагодження (останов за зверненням до портів) 3Возможності розширення розміру сторінок до 4Мб4Налічіе лічильника міток реального часу (та інструкції RDTSC) 5Поддержка модельно-специфічних регістрів в стилі Pentium6Расшіреніе фізичної адреси до 36 біт7Поддержка Machine Check Exception8Інструкція CMPXCHG8B9Налічіе APIC10RESERVED11Поддержка інструкцій SYSENTER і SYSEXIT12Регістри управління кешуванням (MTRR) 13Поддержка біта глобальності в елементах каталогу страніц14Поддержка архітектури машинного контроля15Поддержка інструкцій умовної пересилання CMOVxx16Поддержка атрибутів страніц17Возможность використання режиму PSE-36 для сторінкової адресаціі18Поддержка серійного номера процессора19Поддержка інструкції CLFLUSH20RESERVED21Поддержка отладочной запису історії переходов22Налічіе управління частотою синхронізації (АСР1) 23Поддержка ММХ24Поддержка інструкцій збереження відновлення контексту FPU25SSE26SSE227Самослеженіе (Self Snoop) 28RESERVED29Автоматіческое зниження продуктивності при перегреве30Начіліе AMD 3DNow!
У цій роботі перевірка значень біт, реалізована за допомогою макросу bit_test:
test MACR...