nidud's method works fine on Windows XP 64-bit :
include GetOSvers.inc
.data
kernel32 db 'kernel32.dll',0
str1 db 'Major Operating System Version = %u',13,10
db 'Minor Operating System Version = %u',13,10,0
.data?
buffer db 128 dup(?)
.code
start:
invoke GetModuleHandle,ADDR kernel32
test eax,eax
jz @f
add eax,IMAGE_DOS_HEADER.e_lfanew[eax]
movzx ecx,IMAGE_NT_HEADERS.OptionalHeader.MajorOperatingSystemVersion[eax]
movzx edx,IMAGE_NT_HEADERS.OptionalHeader.MinorOperatingSystemVersion[eax]
invoke wsprintf,ADDR buffer,ADDR str1,ecx,edx
invoke StdOut,ADDR buffer
@@:
invoke ExitProcess,0
END start
GetOSvers.exe
Major Operating System Version = 5
Minor Operating System Version = 2