fasm syntax is pretty unqiue to other assemblers, probly not in any commercial book out there. this code is fasm compatible
format PE GUI 4.0 ;file type, win32 portable executable
include '%fasminc%\win32a.inc' ;for macros, constants
section '.data' readable writeable ;variables
caption db 'hello world!',0
title db 'flat assembler',0
section '.code' code executable readable ;code begins here
start:
invoke 0,text,caption,MB_INFORMATION+MB_OK ;call MessageBoxA
invoke ExitProcess,0 ;exit program
section '.idata' import data readable writeable ;win32 functions used
library kernel,'KERNEL32.DLL',\
user,'USER32.DLL'
import kernel,\
ExitProcess,'ExitProcess'
import user,\
MessageBox,'MessageBoxA'