The smallest unit in a section target file is called a block. A block is a piece of code or data that ultimately occupies a continuous space in the memory image. 1. COFF object file contains three default blocks: .text executable code.data initialized data.bss space reserved for uninitialized data 2. Assembler processing of blocks Uninitialized block.bss variable storage space.usect User-defined uninitialized segment initialization block.text assembly instruction code.data constant data (such as initialization data for quantity) .sect User-defined initialized segment.asect .sect has the absolute address positioning function, which is generally not used 3. C language segment Uninitialized block (data) .bss stores global and static variables.ebss .bss for long calls (exceeds the 64K address limit) .stack stores the C language stack.sysmem stores the C language heap.esysmem .sysmem for long calls (exceeds the 64K address limit) Initialization block.text executable code and constants (program) .switch constant table generated by switch statement (program/low 64K data space) .pinit Tables for global constructors (C++)(program) .cinit is used to store the initialization constant values of global and static variables (program) .const global and static const variable initialization values and string constants, (data) .econst long .const (can be located anywhere) (data)