GNU Info

Info Node: (nasm.info)Section 6.1.3

(nasm.info)Section 6.1.3


Next: Section 6.1.4 Prev: Section 6.1.2 Up: Section 6.1
Enter node , (file) or (file)node

6.1.3. `Multisection' support for the BIN format.
-------------------------------------------------

   The `bin' format allows the use of multiple sections, of arbitrary
names, besides the "known" `.text', `.data', and `.bss' names.

   * Sections may be designated `progbits' or `nobits'. Default is
     `progbits' (except `.bss', which defaults to `nobits', of course).

   * Sections can be aligned at a specified boundary following the
     previous section with `align=', or at an arbitrary byte-granular
     position with `start='.

   * Sections can be given a virtual start address, which will be used
     for the calculation of all memory references within that section
     with `vstart='.

   * Sections can be ordered using `follows='`<section>' or
     `vfollows='`<section>' as an alternative to specifying an explicit
     start address.

   * Arguments to `org', `start', `vstart', and `align=' are critical
     expressions. See *Note Section 3.8::. E.g.  `align=(1 <<
     ALIGN_SHIFT)' - `ALIGN_SHIFT' must be defined before it is used
     here.

   * Any code which comes before an explicit `SECTION' directive is
     directed by default into the `.text' section.

   * If an `ORG' statement is not given, `ORG 0' is used by default.

   * The `.bss' section will be placed after the last `progbits'
     section, unless `start=', `vstart=', `follows=', or `vfollows='
     has been specified.

   * All sections are aligned on dword boundaries, unless a different
     alignment has been specified.

   * Sections may not overlap.

   * Nasm creates the `section.<secname>.start' for each section, which
     may be used in your code.


automatically generated by info2www version 1.2.2.9