Microsoft Macro Assembler
The Microsoft Macro Assembler (MASM) is an x86 assembler that uses the Intel syntax for MS-DOS and Microsoft Windows. Beginning with MASM 8.0, there are two versions of the assembler: One for 16-bit & 32-bit assembly sources, and another (ML64) for 64-bit sources only.
Program
BSS Segment
The BSS segment contains uninitialized static data, both variables and constants, i.e. global variables and local static variables that are initialized to zero or do not have explicit initialization in source code.
DATA Segment
The data segment contains initialized static variables, that is, global variables and static local variables. The data segment is read/write, since the values of variables can be altered at run time.