Системное программное обеспечение. Особенности программирования 32-разрядных процессоров. Рощин А.В. - 85 стр.

UptoLike

Составители: 

85
ARW_TOPLEFT Начинает с левого верхнего угла экрана.
Эквивалентно
ARV_STARTTOP.
ARW_TOPRIGHT Начинает с правого верхнего угла экрана.
Эквивалентно
ARW_STARTTOP | SRW_STARTRIGHT.
Направление, в котором могут располагаться окна, может принимать
одно из следующих значений.
ARW_DOWN Вертикальное расположение, сверху вниз.
ARW_LEFT Горизонтальное расположение, слева направо.
ARW_RIGHT Горизонтальное расположение, справа налево.
ARW_UP Вертикальное расположение, снизу вверх.
// Проверка наличия мыши
if(GetSystemMetrics(SM_MOUSEPRESENT)==0)
{ Application->MessageBox(”Для работы программы необходима
мышь”,”Системные требования”,MB_OK);
Application->Terminate();
}
3.3 Определение частоты процессора
Для определения частоты процессора можно использовать
ассемблерную команду RDTSC (Read Time Stamp Counter). Это
ассемблерная инструкция для платформы x86, читающая счётчик TSC
(Time Stamp Counter) и возвращающая в регистрах EDX:EAX 64-битное
количество тактов с момента последнего сброса процессора.
// Определение частоты процессора ============================
AnsiString a;
try
{ unsigned __int64 count_1,count_2;
unsigned int lo,hi;
fasm(&lo,&hi);
count_1=((unsigned __int64)hi)*(((unsigned
__int64)1)<<32)+(unsigned __int64)lo;
Sleep(500);
fasm(&lo,&hi);
     ARW_TOPLEFT      Начинает      с    левого   верхнего   угла   экрана.
Эквивалентно ARV_STARTTOP.
     ARW_TOPRIGHT     Начинает      с   правого   верхнего   угла   экрана.
Эквивалентно ARW_STARTTOP | SRW_STARTRIGHT.
     Направление, в котором могут располагаться окна, может принимать
одно из следующих значений.
     ARW_DOWN    Вертикальное расположение, сверху вниз.
     ARW_LEFT    Горизонтальное расположение, слева направо.
     ARW_RIGHT Горизонтальное расположение, справа налево.

     ARW_UP      Вертикальное расположение, снизу вверх.


  // Проверка наличия мыши
  if(GetSystemMetrics(SM_MOUSEPRESENT)==0)
    { Application->MessageBox(”Для работы программы необходима
мышь”,”Системные требования”,MB_OK);
      Application->Terminate();
    }


     3.3 Определение частоты процессора
     Для   определения    частоты       процессора   можно    использовать
ассемблерную    команду   RDTSC (Read Time Stamp Counter). Это
ассемблерная инструкция для платформы x86, читающая счётчик TSC
(Time Stamp Counter) и возвращающая в регистрах EDX:EAX 64-битное
количество тактов с момента последнего сброса процессора.

// Определение частоты процессора ============================
  AnsiString a;

  try
    { unsigned __int64 count_1,count_2;
      unsigned int lo,hi;
      fasm(&lo,&hi);
      count_1=((unsigned                __int64)hi)*(((unsigned
__int64)1)<<32)+(unsigned __int64)lo;
      Sleep(500);
      fasm(&lo,&hi);



                                        85