Hi bitcoin,
Another attempt without macros :
.386
.model flat,stdcall
option casemap:none
ExitProcess PROTO :DWORD
printf PROTO C :DWORD,:VARARG
includelib \PellesC\lib\Win\kernel32.lib
includelib msvcrt.lib
.data
string db 'Hello world!'
nullterm db 0
slen EQU OFFSET nullterm - OFFSET string
msg db 'Lenght of the string = %u',0
.code
start:
invoke printf,ADDR msg,slen
invoke ExitProcess,0
END start