Выполнение хорошей задержки на ASM

Тема в разделе "WASM.BEGINNERS", создана пользователем creck, 3 ноя 2007.

  1. creck

    creck New Member

    Публикаций:
    0
    Регистрация:
    3 ноя 2007
    Сообщения:
    6
    У меня такая проблема. В игре "змейка", которую я написал, змея движется рывками(то быстро то медленно). Причина: выполнение задержки. Я выполняю задержку при помощи цикла loop. Пробовал выполнять задержку при помощи таймера, но из-за того что таймер обновляется не часто максимальная скорость очень мала. Формирование задержки при помощи mov ah, 86h; int 15h работает только на AT.
    Может еще как-то можно сделать задержку, подскажите пожалуйста
     
  2. S_Alex

    S_Alex Alex

    Публикаций:
    0
    Регистрация:
    27 авг 2004
    Сообщения:
    561
    Адрес:
    Ukraine
    Прерывание INT 08h Происходит с частотой 18,2 Гц.
    Юзай как источник синхронизации.
     
  3. Ultrin Faern

    Ultrin Faern New Member

    Публикаций:
    0
    Регистрация:
    25 июн 2006
    Сообщения:
    170
    INT 08 -это аппаратное, для обработки таймера, его лучше не трогать. Для приложений есть INT 1C
     
  4. creck

    creck New Member

    Публикаций:
    0
    Регистрация:
    3 ноя 2007
    Сообщения:
    6
    Есть что-нибудь более быстро обновляющееся или еще лучше исходник змейки
     
  5. 10110111

    10110111 New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2006
    Сообщения:
    319
    Адрес:
    Санкт-Петербург
    irq8+RTC
     
  6. S_Alex

    S_Alex Alex

    Публикаций:
    0
    Регистрация:
    27 авг 2004
    Сообщения:
    561
    Адрес:
    Ukraine
    Входная частота для таймера 1,19318 МГц можешь задать коэффициент деления такой, что бы тебя устроила частота обновления.