DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(as.info.gz) Alpha Directives

Info Catalog (as.info.gz) Alpha Floating Point (as.info.gz) Alpha-Dependent (as.info.gz) Alpha Opcodes
 
 Alpha Assembler Directives
 --------------------------
 
    `as' for the Alpha supports many additional directives for
 compatibility with the native assembler.  This section describes them
 only briefly.
 
    These are the additional directives in `as' for the Alpha:
 
 `.arch CPU'
      Specifies the target processor.  This is equivalent to the `-mCPU'
      command-line option.   Options Alpha Options, for a list of
      values for CPU.
 
 `.ent FUNCTION[, N]'
      Mark the beginning of FUNCTION.  An optional number may follow for
      compatibility with the OSF/1 assembler, but is ignored.  When
      generating `.mdebug' information, this will create a procedure
      descriptor for the function.  In ELF, it will mark the symbol as a
      function a-la the generic `.type' directive.
 
 `.end FUNCTION'
      Mark the end of FUNCTION.  In ELF, it will set the size of the
      symbol a-la the generic `.size' directive.
 
 `.mask MASK, OFFSET'
      Indicate which of the integer registers are saved in the current
      function's stack frame.  MASK is interpreted a bit mask in which
      bit N set indicates that register N is saved.  The registers are
      saved in a block located OFFSET bytes from the "canonical frame
      address" (CFA) which is the value of the stack pointer on entry to
      the function.  The registers are saved sequentially, except that
      the return address register (normally `$26') is saved first.
 
      This and the other directives that describe the stack frame are
      currently only used when generating `.mdebug' information.  They
      may in the future be used to generate DWARF2 `.debug_frame' unwind
      information for hand written assembly.
 
 `.fmask MASK, OFFSET'
      Indicate which of the floating-point registers are saved in the
      current stack frame.  The MASK and OFFSET parameters are
      interpreted as with `.mask'.
 
 `.frame FRAMEREG, FRAMEOFFSET, RETREG[, ARGOFFSET]'
      Describes the shape of the stack frame.  The frame pointer in use
      is FRAMEREG; normally this is either `$fp' or `$sp'.  The frame
      pointer is FRAMEOFFSET bytes below the CFA.  The return address is
      initially located in RETREG until it is saved as indicated in
      `.mask'.  For compatibility with OSF/1 an optional ARGOFFSET
      parameter is accepted and ignored.  It is believed to indicate the
      offset from the CFA to the saved argument registers.
 
 `.prologue N'
      Indicate that the stack frame is set up and all registers have been
      spilled.  The argument N indicates whether and how the function
      uses the incoming "procedure vector" (the address of the called
      function) in `$27'.  0 indicates that `$27' is not used; 1
      indicates that the first two instructions of the function use `$27'
      to perform a load of the GP register; 2 indicates that `$27' is
      used in some non-standard way and so the linker cannot elide the
      load of the procedure vector during relaxation.
 
 `.gprel32 EXPRESSION'
      Computes the difference between the address in EXPRESSION and the
      GP for the current object file, and stores it in 4 bytes.  In
      addition to being smaller than a full 8 byte address, this also
      does not require a dynamic relocation when used in a shared
      library.
 
 `.t_floating EXPRESSION'
      Stores EXPRESSION as an IEEE double precision value.
 
 `.s_floating EXPRESSION'
      Stores EXPRESSION as an IEEE single precision value.
 
 `.f_floating EXPRESSION'
      Stores EXPRESSION as a VAX F format value.
 
 `.g_floating EXPRESSION'
      Stores EXPRESSION as a VAX G format value.
 
 `.d_floating EXPRESSION'
      Stores EXPRESSION as a VAX D format value.
 
 `.set FEATURE'
      Enables or disables various assembler features.  Using the positive
      name of the feature enables while using `noFEATURE' disables.
 
     `at'
           Indicates that macro expansions may clobber the "assembler
           temporary" (`$at' or `$28') register.  Some macros may not be
           expanded without this and will generate an error message if
           `noat' is in effect.  When `at' is in effect, a warning will
           be generated if `$at' is used by the programmer.
 
     `macro'
           Enables the expasion of macro instructions.  Note that
           variants of real instructions, such as `br label' vs `br
           $31,label' are considered alternate forms and not macros.
 
     `move'
     `reorder'
     `volatile'
           These control whether and how the assembler may re-order
           instructions.  Accepted for compatibility with the OSF/1
           assembler, but `as' does not do instruction scheduling, so
           these features are ignored.
 
    The following directives are recognized for compatibility with the
 OSF/1 assembler but are ignored.
 
      .proc           .aproc
      .reguse         .livereg
      .option         .aent
      .ugen           .eflag
      .alias          .noalias
 
Info Catalog (as.info.gz) Alpha Floating Point (as.info.gz) Alpha-Dependent (as.info.gz) Alpha Opcodes
automatically generated byinfo2html