аналог Sleep чистыми асм инструкциями

Тема в разделе "WASM.WIN32", создана пользователем karabas_barabas, 12 сен 2010.

  1. sysexit

    sysexit New Member

    Публикаций:
    0
    Регистрация:
    27 авг 2010
    Сообщения:
    176
    А что Sleep() разве останавливает весь процесс? Он же только поток снимает с планировщика на время, а не весь процесс
     
  2. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    asmlamo
    Да, про чистые инструкции сказано в самом заголовке темы. Это юзермод, сдесь планированием принебрегают, оно большое значение не имеет. Достаточно понизить приоритет.
    Тупой цикл является аналогом апи. ТС не отрицал возможность их использования, более того я не отрицал саму апи. Это вы пришли к выводу что клерк не предлагает её юзать. Читать #9.
     
  3. slesh

    slesh New Member

    Публикаций:
    0
    Регистрация:
    6 фев 2009
    Сообщения:
    214
    Полюбому пауза на инструкциях без вызова ядра будет грузить текущее ядро на 99%.
    Вообще зачем такой изврат? Криптер чтоли пишеш?

    А вообще если тебя устраивает загруженность процессора, то для синхронизации отсчетов юзай GetTickCount (чтобы небыло зависимости от частоты проца). Вернее код реализации этой функции:
    Код (Text):
    1. mov edx, 0x7FFE0000
    2. mov eax, [edx]
    3. mul dword ptr [edx + 4]
    4. shrd eax, edx, 0x18
    5. ret
    Конечно желательно проверить на всех версия винды этим адреса