Another version based on the API RtlGetCurrentPeb :
.386
.model flat,stdcall
option casemap:none
include PEBstruct.inc
.data
msg1 db "OSMajorVersion= %u",13,10,13,10,0
msg2 db "OSMinorVersion = %u",0
.code
start:
call main
invoke ExitProcess,0
main PROC uses ebx
invoke RtlGetCurrentPeb
mov ebx,eax
invoke printf,ADDR msg1,\
PEB.OSMajorVersion[ebx]
invoke printf,ADDR msg2,\
PEB.OSMinorVersion[ebx]
ret
main ENDP
END start