Задержка

Тема в разделе "Другие", создана пользователем XIII, 9 янв 2005.

Статус темы:
Закрыта.
  1. XIII

    XIII Гость

    Помогите, пожалуйста, написать процедуру задержки вмилисекундах. Желательно на Ассемблере.

    Заранее спасибо всем ответившим Leshiy_XIII
     
  2. ????

    ???? Гость

    Если использовать WinAPI, то:
    QueryPerformanceCounter
    The QueryPerformanceCounter function retrieves the current value of the high-resolution performance counter.

    Syntax

    Код (Text):
    BOOL QueryPerformanceCounter(  

     LARGE_INTEGER *lpPerformanceCount
    );
    Parameters

    lpPerformanceCount
    [out] Pointer to a variable that receives the current performance-counter value, in counts.

    Return Value

    If the function succeeds, the return value is nonzero.

    If the function fails, the return value is zero. To get extended error information, call GetLastError.


    Remarks

    On a multiprocessor computer, it should not matter which processor is called. However, you can get different results on different processors due to bugs in the basic input/output system (BIOS) or the hardware abstraction layer (HAL). To specify processor affinity for a thread, use the SetThreadAffinityMask function.

    QueryPerformanceFrequency
    The QueryPerformanceFrequency function retrieves the frequency of the high-resolution performance counter, if one exists. The frequency cannot change while the system is running.

    Syntax

    Код (Text):
    BOOL QueryPerformanceFrequency(  

     LARGE_INTEGER *lpFrequency
    );
    Parameters

    lpFrequency
    [out] Pointer to a variable that receives the current performance-counter frequency, in counts per second. If the installed hardware does not support a high-resolution performance counter, this parameter can be zero.

    Return Value

    If the installed hardware supports a high-resolution performance counter, the return value is nonzero.

    If the function fails, the return value is zero. To get extended error information, call GetLastError. For example, if the installed hardware does not support a high-resolution performance counter, the function fails.
     
  3. XIII

    XIII Гость

    <!--QuoteBegin-????+9:01:2005, 18:53 -->
    <span class="vbquote">(???? @ 9:01:2005, 18:53 )</span><!--QuoteEBegin-->Если использовать WinAPI, то...[/quote]
    Премного благодарен!
     
  4. ????

    ???? Гость

    Если на ассемблере под 386+, то при известной частоте процессора можно использовать комманду rdtsc
    Примеры обратные твоей задаче (рассчёт частоты) можно посмотреть тут 1 2 3 ...
     
  5. Dico

    Dico Гость

    ;А вот задержка до нажатия любой клавиши
    CSEG segment
    org 100h
    Begin:
    ;Пауза (нажмите любой символ)
    mov ah, 10h
    int 16h

    ;основная часть пр-мы

    ;Завершение программы
    mov ah, 04Ch
    int 21h
    CSEG ends
    end Begin
     
  6. XIII

    XIII Гость

    Еще раз спасибо, очень выручили меня. :) А за одинаковые топики, извините, пожалуйста, - очень нужно было.
     
  7. MASSER

    MASSER Гость

    Какую минимальную длительность самой короткой задержки можно получить из под Windows?
     
  8. XIII

    XIII Гость

    Поскольку кварцевый генератор подключенный к таймеру, генерирует такты с периодом, примерно 0,840336 мкс, то вряд ли удастся сделать задержку короче. Да и зачем?
     
Загрузка...
Похожие Темы - Задержка
  1. Gemini
    Ответов:
    10
    Просмотров:
    1.328
  2. deeeman
    Ответов:
    2
    Просмотров:
    1.164
Статус темы:
Закрыта.

Поделиться этой страницей