Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2007, 18:11   #1
Alika
Новичок
Джуниор
 
Регистрация: 11.11.2007
Сообщений: 1
По умолчанию Работа с таймером

Может кто-нибудь привести пример программы обработки прерыаний по таймеру? К примеру, программа выводит через определенные промежутки времени текстовое сообщение..
Alika вне форума Ответить с цитированием
Старый 11.11.2007, 23:54   #2
Sar_Arturchik
Новичок
Джуниор
 
Регистрация: 11.11.2007
Сообщений: 1
По умолчанию

Ы! Тоже срочно нужен пример такой программы =) Может кто поможет?
Sar_Arturchik вне форума Ответить с цитированием
Старый 12.11.2007, 19:27   #3
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

если нужен ИМЕННО ПРИМЕР программы, которая выводит сообщения через определённые промежутки времени, тогда пожалуйста:

Код:
format PE GUI 4.0
entry start

include 'win32a.inc'

section '.code' code readable writeable executable

mess db 'Message',0
caption db 'Caption',0

counter dd 3 ;количество повторений
delay_time equ 5000; время задержки в миллисекундах

msg MSG
TI dd 0


proc TimerProc, _HWND,uMsg, idEvent, dwTime     

    pushad

    invoke KillTimer, 0, [TI]
    invoke MessageBox, 0,caption ,mess ,0

    invoke SetTimer,0,0,delay_time, TimerProc
    mov [TI], eax

    dec dword [counter]
    jnz @f

    push 0
    call      [ExitProcess]
   @@:
    popad
    ret    
endp

start:

      invoke SetTimer,0,0,delay_time, TimerProc
      mov [TI], eax

     msg_loop:
      invoke  GetMessage,msg,NULL,0,0
      cmp     eax,1
      jb      end_loop
      jne     msg_loop
      invoke  TranslateMessage,msg
      invoke  DispatchMessage,msg
      jmp     msg_loop
     end_loop:
      
      push 0
      call      [ExitProcess]


section '.idata' import data readable writeable

  library kernel,'KERNEL32.DLL',\
          user,'USER32.DLL'


  import kernel,\
         ExitProcess,'ExitProcess'


  import user,\
         MessageBox,'MessageBoxA',\
         SetTimer, 'SetTimer',\
         GetMessage,'GetMessageA',\
         TranslateMessage,'TranslateMessage',\
         DispatchMessage,'DispatchMessageA',\
         KillTimer,'KillTimer'
(компилятор FASM)

Последний раз редактировалось rpy3uH; 12.11.2007 в 19:59.
rpy3uH вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите плиз с таймером kinals Помощь студентам 23 12.08.2008 13:18
Помогите с таймером Михаил Юрьевич Общие вопросы Delphi 10 03.06.2008 20:35
Помогите, плз, разобраться с таймером Ya_Nika Общие вопросы C/C++ 3 11.03.2008 07:58
Работа с Таймером Иринкаа Компоненты Delphi 6 22.11.2007 21:59
Тестовая программа с таймером Barrr Помощь студентам 11 21.10.2007 19:42