Ev
Evgeshabright

помогите по асемблеру

format PE GUI 4.0

include 'win32a.inc'

; секции не обозначены, поэтому fasm автоматически создаст
секцию .flat

; в которой разместятся и код, и данные, что позволит уменьшить размер
файла

invoke
MessageBoxA,0,_message,_caption,MB_ICONQUESTION+MB_YESNOCANCEL

cmp eax,IDNO

je close

cmp eax,IDYES

jne exit

;open:

invoke mciSendString,_cd_open,0,0,0

jmp exit

close:

invoke mciSendString,_cd_close,0,0,0

exit:

invoke ExitProcess,0

_message db 'Вам нужна подставка
для кофе? ',0

_caption db 'Мастер Бытового
Обслуживания. ',0

_cd_open db 'set cdaudio door
open',0

_cd_close db 'set cdaudio door
closed',0

; импортируемые данные разместятся в этой же секции:

data import

library
kernel32,'KERNEL32.DLL',\

user32,'USER32.DLL',\

winmm,'WINMM.DLL'

import kernel32,\

ExitProcess,'ExitProcess'

import user32,\

MessageBoxA,'MessageBoxA'

import winmm,\

mciSendString,'mciSendStringA'

end data

Вот такое окошко должно у нас получиться. Нажмете кнопку «Да» , – лоток
сиди-рома откроется. Нажмете «Нет» , – закроется.

invoke
mciSendString,_wav_play,0,0,0

прямо перед вызовом функции MessageBox, и строку

Код:

_wav_play db ‘play
c:\windows\media\tada.wav’,0

_wav_play db ‘play c:\windows\media\tada.wav
wait’,0

format PE GUI 4.0

include 'win32a.inc'

invoke
mciSendString,_cd_state,_ret,5,0

invoke lstrcmp,_ret,_ret_open

cmp eax,0

je close

;open:



invoke mciSendString,_cd_open,0,0,0

jmp exit

close:

invoke mciSendString,_cd_close,0,0,0

exit:

invoke ExitProcess,0

_cd_state db 'status cdaudio mode',0

_cd_open db 'set cdaudio door
open',0

_cd_close db 'set cdaudio door
closed',0

_ret_open db 'open',0

_ret db 5 dup (?)

data import

library kernel32,'KERNEL32.DLL',\

user32,'USER32.DLL',\

winmm,'WINMM.DLL'

import kernel32,\

ExitProcess,'ExitProcess',\

GetWindowsDirectory,'GetWindowsDirectory',\

lstrcmp,'lstrcmpA'

import user32,\

MessageBoxA,'MessageBoxA'

import winmm,\

mciSendString,'mciSendStringA',\

PlaySound,'PlaySoundA'

end data

АК
Алексей Клочков

гадский фасм.. . а проблемы то в чем?

Похожие вопросы
помогите написать программу на асемблере по выводу двух значного числа на экран с помощью процедуры
Помогите! Скласти програму визначення середнього арифметичного масиву із 32 чисел. На асемблере, процессор Intel і8086
Помогите! Скласти програму визначення середнього арифметичного масиву із 32 чисел. На асемблере, процессор Intel i8086
ПОМОГИТЕ Асемблер!! ! Скажите, как перевести программу на асемблере в машинный код?
Помогите Асемблер!!!
помогите пожалуйста нужно написать программу на АСЕМБЛЕРЕ і8085
Помогите пожалуйста написать прогу в асемблере на і8080!!!!
программа на турбо асемблере которая записивает в файл
Какой язык программирования самый удобный? Из лиспа асемблера с++
помогите пожалуста с асемблером!