section .bss
section .data

  string: db "some string",0
  string_l: equ $-string

  N dd 6 ; might use a more meaningful name,,,

section .text

global _start

_start:

mov esi, [N] ; or get it some other way

mov eax, 1 ; sys_exit
mov ebx, 0 ; claim "no error"
int 80h

include \masm32\include\masm32rt.inc

.data ; initialised variables
MyAppName db "Masm32:", 0
MyReal8 REAL8 123.456

.data? ; non-initialised (i.e. zeroed) variables
MyDword dd ?

.code

;This is a test line
;Another test line



start:
  invoke MessageBox, 0, chr$("A box, wow!"), addr MyAppName, MB_OK
  mov eax, 123	; just an example – launch OllyDbg to see it in action
  exit
end start

mov eax, 4 ; sys_write
mov ebx, 1 ; sdtout
lea ecx, [string + esi]
mov edx, 1 ; just one, please
int 80h