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.ent
function[,
n]
.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.size
directive.
.mask
mask,
offset$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.mask
.
.frame
framereg,
frameoffset,
retreg[,
argoffset]
$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$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.
.usepv
function,
which$27
register, similar to
.prologue
, but without the other semantics of needing to
be inside an open .ent
/.end
block.
The which argument should be either no
, indicating that
$27
is not used, or std
, indicating that the first two
instructions of the function perform a GP load.
One might use this directive instead of .prologue
if you are
also using dwarf2 CFI directives.
.gprel32
expression.t_floating
expression.s_floating
expression.f_floating
expression.g_floating
expression.d_floating
expression.set
featureat
$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
br label
vs br $31,label
are
considered alternate forms and not macros.
move
reorder
volatile
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