159 / 16 / 0
Регистрация: 14.09.2010
Сообщений: 411
Записей в блоге: 6
1
FASM

Будильник

08.07.2017, 03:13. Показов 2602. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
include '%fasm%/win64ax.inc'
section '.code' executable
start:
        sub rsp,8
@@:
        invoke GetSystemTime,lpSystemTime
        ;movsx eax,[lpSystemTime.wSecond]
        movsx eax,[lpSystemTime.wSecond]
        add eax,-60
        neg eax
        invoke wsprintf,a,'%d00',eax
 
 
        ;invoke MessageBoxTimeout,HWND_DESKTOP,a,'',MB_TOPMOST,LANG_NEUTRAL,5000
        ;jmp exit
@@:
        invoke Sleep,[a]
        invoke PlaySound,amp,NULL,12
        jmp @r
 
exit:
        invoke ExitProcess,NULL
 
section '.data' readable
 
        amp file '80.wav'
 
section '.data' readable writeable
 
        lpSystemTime SYSTEMTIME
 
        a dd NULL
 
section '.idata' import readable
 
        library kernel32,'KERNEL32.DLL',winmm,'WINMM.DLL',user32,'USER32.DLL'
        include '%fasm%/api/kernel32.inc'
        import winmm,PlaySound,'PlaySound'
        include '%fasm%/api/user32.inc'
Довести до ума помогите. Хочу чтобы в полчаса раз сигнал воспроизводился. Что-то никак не получается в миллисекундах вывести Sleep
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.07.2017, 03:13
Ответы с готовыми решениями:

Будильник
Подскажите пожалуйста, что здесь не так, уже голову сломала над этим. using System; using...

QT будильник
Всем привет. Мне нужно написать прогу-будильник в Qt, в которой пользователь будет задавать время...

Будильник
Необходимо сделать будильник с установкой времени в часах-минутах по двум numericUpDown и...

Будильник.
Написать программу будильник в С++ .

2
Asm/C++/Delphi/Py/PHP/VBA
6356 / 1958 / 225
Регистрация: 14.12.2014
Сообщений: 4,104
Записей в блоге: 12
08.07.2017, 11:48 2
К чему тут GetSystemTime вообще?
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
include '%fasm%/win64ax.inc'
 
Interval = 3  ; нужный интервал в секундах, 30 мин = 30*60
 
INFINITE = -1
SND_ASYNC = 1
SND_NODEFAULT = 2
SND_MEMORY = 4
SND_LOOP = 8
 
section '.code' executable
start:
        sub rsp,8
 
        invoke SetTimer,0,0,Interval*1000,Play
await:
        invoke GetMessageA,msg,NULL,0,0
        test rax,rax
        jz exit
        invoke TranslateMessage,msg
        invoke DispatchMessageA,msg
        jmp await
exit:
        invoke ExitProcess,NULL
Play:
        sub rsp,8
        invoke PlaySound,amp,NULL,SND_MEMORY+SND_NODEFAULT
        ret
 
section '.data' readable
 
        amp file '80.wav'
 
section '.data' readable writeable
 
        msg MSG
 
section '.idata' import readable
 
        library kernel32,'KERNEL32.DLL',winmm,'WINMM.DLL',user32,'USER32.DLL'
        include '%fasm%/api/kernel32.inc'
        import winmm,PlaySound,'PlaySound'
        include '%fasm%/api/user32.inc'
2
159 / 16 / 0
Регистрация: 14.09.2010
Сообщений: 411
Записей в блоге: 6
08.07.2017, 21:49  [ТС] 3
Немного поторопился, суть задачи упустил, мне нужно выровнить старт сигнала по часам, хотя это задачка для первого класса, где-то надо от 60-десяти отнять, лишь бы код не сломать)

Впринципе, таймер у меня уже был написан, но спасибо!!!

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
include '%fasm%/win64ax.inc'
section '.code' executable
start:
        sub rsp,8
@@:
        invoke Sleep,1800000
        invoke PlaySound,amp,NULL,12
        jmp @r
 
section '.data' readable
 
        amp file '80.wav'
 
section '.idata' import readable
 
        library kernel32,'KERNEL32.DLL',winmm,'WINMM.DLL'
        include '%fasm%/api/kernel32.inc'
        import winmm,PlaySound,'PlaySound'
Добавлено через 2 часа 47 минут
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
start:
        sub rsp,8
@@:
        invoke GetSystemTime,lpSystemTime
 
        neg [lpSystemTime.wSecond]
        add [lpSystemTime.wSecond],60
 
        invoke wsprintf,a,'%d00',[lpSystemTime.wSecond]
 
        ;invoke MessageBoxTimeout,HWND_DESKTOP,a,'',MB_TOPMOST,LANG_NEUTRAL,5000
        ;jmp exit
@@:
        invoke Sleep,[a]
        invoke PlaySound,amp,NULL,12
        jmp @r
exit:
Не пойму почему не работает
0
08.07.2017, 21:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.07.2017, 21:49
Помогаю со студенческими работами здесь

Будильник
Нужна процедура для перевода времени на 5 минут. И разворачивание приложения из трея через popupMenu

QT будильник
Помогите, пожалуйста. Сравниваю время, которое совпадает с временем в системе и временем вводимым...

Будильник
Программа должна быть до ужаса проста - БУДИЛЬНИК. Вы скажете зачем?! - Ведь есть стандартный...

Будильник
Создать приложение Будильник в назначенное время демонстрационная панель приобретает красный цвет и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru