VMS Help  —  MACRO  /ALPHA  Directives  .PSECT  Description
    .PSECT defines a program section and its attributes and refers to
    a program section after it is defined. Use program sections to do
    the following:

    o  Develop modular programs.

    o  Separate instructions from data.

    o  Allow different modules to access the same data.

    o  Protect read-only data and instructions from being modified.

    o  Identify sections of the object module to the linker and the
       debugger.

    o  Control the order in which program sections are stored in
       virtual memory.

    When the assembler encounters a .PSECT directive that specifies
    a new program section name, it creates a new program section
    and stores the name, attributes, and alignment of the program
    section. The assembler includes all data or instructions that
    follow the .PSECT directive in that program section until it
    encounters another .PSECT directive. The assembler starts all
    program sections at a relative location counter of 0.

    The assembler does not automatically define program sections.
    Any code or data placed before the first .PSECT directive in the
    source code produces an assembly error.

    If the assembler encounters a .PSECT directive that specifies
    the name of a previously defined program section, it stores the
    new data or instructions after the last entry in the previously
    defined program section, even with program sections that have
    the OVR attribute. (OVR program sections from separate modules
    are overlaid by the linker. The OVR attribute does not affect
    how multiple contributions to a psect are processed within a
    single assembly unit.) You need not relist the attributes when
    continuing a program section, but any attributes that are listed
    must be the same as those previously in effect for the program
    section. A continuation of a program section cannot contain
    attributes conflicting with those specified, or defaulted, in
    the original .PSECT directive.

    The attributes listed in the .PSECT directive describe the
    contents of the program section. Except for the EXE and NOEXE
    attributes, the assembler does not check to ensure that the
    contents of the program section actually adhere to the attributes
    listed. However, the assembler and the linker do check that
    all program sections with the same name have exactly the same
    attributes. The assembler and linker display an error message if
    the program section attributes are not consistent.

    Program section names are independent of local symbol, global
    symbol, and macro names. You can use the same symbolic name
    for a program section and for a local symbol, global symbol,
    or macro name. You may want to use unique names for clarity and
    maintainability.
Close Help