IA-32 Assembly Language Reference Manual

Sections

Five of the symbol types are defined with respect to certain sections of the object file into which the assembler translates the source file. This section describes symbol types.

If the assembler translates a particular assembly language statement into a machine language instruction or into a data allocation, the translation is associated with one of the following five sections of the object file into which the assembler is translating the source file:

Table 1-1 Translations and their Associations

Section 

Purpose 

text

This is an initialized section. Normally, it is read-only and contains code from a program. It may also contain read-only tables 

data

This is an initialized section. Normally, it is readable and writable. It contains initialized data. These can be scalars or tables. 

bss

This is an initialized section. Space is not allocated for this segment in the object file. 

init

This is used with C++ programs that require constructors. 

fini

This is used by C++ programs that require destructors. 

An optional section, .comment, may also be produced.

The section associated with the translated statement is .text unless the original statement occurs after a section control pseudo operation has directed the assembler to associate the statement with another section.