Последние записи
- Преобразовать массив байт в вещественное число (single)
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
17th
Сен
Работа с таймером
Posted by maloy under assembler, Архив, Исходники
Alika
Может кто-нибудь привести пример программы обработки прерываний по таймеру? К примеру, программа выводит через определенные промежутки времени текстовое сообщение..
Грузин
если нужен ИМЕННО ПРИМЕР программы, которая выводит сообщения через определённые промежутки времени, тогда пожалуйста:
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)
тема на форуме от 2007 года
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)