Page 33 - 4989
P. 33

рядок «AuthenticAMD».
                        У  більшості  випадків  результати  виконання  CPUID
                  розміщуються  в  бітових  полях  невеликої  довжини  в  межах  32-
                  розрядного регістру. Наприклад, при ЕАХ=1 формат результату в

                  регістрі ЕАХ наступний:



















                        3:0 – степпінг

                        7:4 – модель
                        11:8 – сімейство
                        13:12 – тип процесора

                        19:16 – розширена модель
                        27:20 – розширене сімейство
                        Щоб  виділити  потрібну  характеристику  в  окрему  змінну,

                  можна  скористатись  командами  зсуву  та  логічним  «І».
                  Наприклад, якщо необхідно виділити біти з 29 по 30, це можна
                  зробити такими командами:

                        AND EAX, 60000000h                  ; одинички в бітах 29 і 30
                        SHR EAX, 29
                        або
                        SHR EAX, 29

                        AND EAX, 03h

                        У  регістрі  EDX  при  ЕАХ=1  повертається  набір  бітів,  що

                  визначають, які інструкції підтримує процесор. Детальніше див.
                  повну довідку по CPUID.



                        3.3.5  Використання  асемблерних  вставок  у  середовищі
                  Microsoft Visual Studio

                        Більшість  компіляторів  С++  дозволяють  використовувати



                                                                 33
   28   29   30   31   32   33   34   35   36   37   38