|
From: yeoh <ye...@ye...> - 2003-10-10 01:23:56
|
Hi,
Here's another very simple example program in Nasm (Nagoa).
It plays a wav file. :-)
Best Regards,
Yeoh
--
;
=============================================================================
; Program name: Bell
; Author: Yeoh HS
; Date: 19 September 2003
; Compiler: NASM
; Purpose: To play wav file
; Also demonstrate how to include icon and version
info in program.
;
; To build this program:
; gorc /nw /r %1.rc
; nasmw -id:/nasmw/inc/ -fobj %1.asm
; alink -oPE %1.obj d:\nasmw\lib\nagoa.obj
d:\nasmw\lib\Win32.lib %1.res
;
;
=============================================================================
%include 'nagoa.inc'
[segment code USE32]
..start:
call GetModuleHandleA, NULL
CONST hInst , dd 0
mov [hInst], eax
call DialogBoxParamA, [hInst],DIALOG_ID,
0,DialogProc, 0
call ExitProcess, [hInst]
; ============ [ MAIN DIALOLOG PROC ] =====================:
proc DialogProc,hdlg,msg,wParam,lParam
cmp dword [msg],WM_INITDIALOG
je wm_initdialog
cmp dword [msg],WM_COMMAND
je near wm_command
cmp dword [msg],WM_CLOSE
je near wm_close
return FALSE
;----------------------------------------------------------------
; First, load the icon
; Then call PlaySound Win32 API function to play
Ding.wav
;
wm_initdialog:
call LoadIcon, [hInst], IDI_ICON
call PlaySound, Ding, NULL, SND_SYNC
call PlaySound, Ding, NULL, SND_SYNC
call PlaySound, Ding, NULL, SND_SYNC
call ExitProcess,0
return TRUE
wm_command:
;
return TRUE
wm_close:
call ExitProcess,0
return FALSE
endproc
; ============== [ MAIN DIALOGPROC END ] =============== :
[segment data USE32]
DIALOG_ID equ 1000
IDI_ICON equ 1
Ding db "Ding.wav",0
;------------------------------------------------------------------------------
Bell.rc
#define IDI_ICON 1
IDI_ICON ICON DISCARDABLE "bell.ico"
//-----------------------------------------------------------------------------
1000 DIALOG 10, 10, 300, 310
STYLE DS_CENTER| WS_POPUP | WS_VISIBLE | WS_CAPTION |
WS_SYSMENU | WS_MINIMIZEBOX
CAPTION "bell"
FONT 8, "Helv"
BEGIN
;
END
//-----------------------------------------------------------------------------
1 VERSIONINFO
FILEVERSION 0,1,1,1
PRODUCTVERSION 0,1,1,1
FILETYPE VFT_APP
{
BLOCK "StringFileInfo"
{
BLOCK "040904E4"
{
VALUE "CompanyName", "Yeoh HS"
VALUE "FileVersion", "1.0.0"
VALUE "FileDescription", "Play Ding.wav three times"
VALUE "InternalName", "Bell"
VALUE "LegalCopyright", "Copyright (C) 2003 by Yeoh HS"
VALUE "LegalTrademarks", ""
VALUE "OriginalFilename", "Bell.exe"
VALUE "ProductName", "Bell"
VALUE "ProductVersion", "1.0.0"
}
}
}
//=============================================================================
|