Copyright (C) 2000-2012 |
GNU Info (nasm.info)Section 6.3.16.3.1. `win32' Extensions to the `SECTION' Directive ---------------------------------------------------- Like the `obj' format, `win32' allows you to specify additional information on the `SECTION' directive line, to control the type and properties of sections you declare. Section types and properties are generated automatically by NASM for the standard section names `.text', `.data' and `.bss', but may still be overridden by these qualifiers. The available qualifiers are: * `code', or equivalently `text', defines the section to be a code section. This marks the section as readable and executable, but not writable, and also indicates to the linker that the type of the section is code. * `data' and `bss' define the section to be a data section, analogously to `code'. Data sections are marked as readable and writable, but not executable. `data' declares an initialised data section, whereas `bss' declares an uninitialised data section. * `rdata' declares an initialised data section that is readable but not writable. Microsoft compilers use this section to place constants in it. * `info' defines the section to be an informational section, which is not included in the executable file by the linker, but may (for example) pass information _to_ the linker. For example, declaring an `info'-type section called `.drectve' causes the linker to interpret the contents of the section as command-line options. * `align=', used with a trailing number as in `obj', gives the alignment requirements of the section. The maximum you may specify is 64: the Win32 object file format contains no means to request a greater section alignment than this. If alignment is not explicitly specified, the defaults are 16-byte alignment for code sections, 8-byte alignment for rdata sections and 4-byte alignment for data (and BSS) sections. Informational sections get a default alignment of 1 byte (no alignment), though the value does not matter. The defaults assumed by NASM if you do not specify the above qualifiers are: section .text code align=16 section .data data align=4 section .rdata rdata align=8 section .bss bss align=4 Any other section name is treated by default like `.text'. automatically generated by info2www version 1.2.2.9 |