rx: make field type enum
[deliverable/binutils-gdb.git] / gas / doc / c-msp430.texi
index 77d6fd1178eb03f23770431cdec63a1607ab3668..7ba35cf22db06cdeaaa1d17ab009494578f246cc 100644 (file)
@@ -1,4 +1,4 @@
-@c Copyright 2002-2013 Free Software Foundation, Inc.
+@c Copyright (C) 2002-2016 Free Software Foundation, Inc.
 @c This is part of the GAS manual.
 @c For copying conditions, see the file as.texinfo.
 @ifset GENERIC
 @c This is part of the GAS manual.
 @c For copying conditions, see the file as.texinfo.
 @ifset GENERIC
 @table @code
 
 @item -mmcu
 @table @code
 
 @item -mmcu
-selects the mpu arch.  If the architecture is 430Xv2 then this also
-enables NOP generation unless the @option{-mN} is also specified.
+selects the mcu architecture.  If the architecture is 430Xv2 then this
+also enables NOP generation unless the @option{-mN} is also specified.
 
 @item -mcpu
 selects the cpu architecture.  If the architecture is 430Xv2 then this
 
 @item -mcpu
 selects the cpu architecture.  If the architecture is 430Xv2 then this
-also enables NOP generation unless the @option{-mN} is also
-specified.
+also enables NOP generation unless the @option{-mN} is also specified.
+
+@item -msilicon-errata=@var{name}[,@var{name}@dots{}]
+Implements a fixup for named silicon errata.  Multiple silicon errata
+can be specified by multiple uses of the @option{-msilicon-errata}
+option and/or by including the errata names, separated by commas, on
+an individual @option{-msilicon-errata} option.  Errata names
+currently recognised by the assembler are:
+
+@table @code
+@item cpu4
+@code{PUSH #4} and @option{PUSH #8} need longer encodings on the
+MSP430.  This option is enabled by default, and cannot be disabled.
+@item cpu8
+Do not set the @code{SP} to an odd value.
+@item cpu11
+Do not update the @code{SR} and the @code{PC} in the same instruction.
+@item cpu12
+Do not use the @code{PC} in a @code{CMP} or @code{BIT} instruction.
+@item cpu13
+Do not use an arithmetic instruction to modify the @code{SR}.
+@item cpu19
+Insert @code{NOP} after @code{CPUOFF}.
+@end table
+
+@item -msilicon-errata-warn=@var{name}[,@var{name}@dots{}]
+Like the @option{-msilicon-errata} option except that instead of
+fixing the specified errata, a warning message is issued instead.
+This option can be used alongside @option{-msilicon-errata} to
+generate messages whenever a problem is fixed, or on its own in order
+to inspect code for potential problems.
 
 @item -mP
 enables polymorph instructions handler.
 
 @item -mP
 enables polymorph instructions handler.
@@ -55,17 +84,25 @@ SR}, @code{BIS #8, SR} or @code{MOV.W <>, SR}) must be
 followed by a NOP instruction in order to ensure the correct
 processing of interrupts.  By default it is up to the programmer to
 supply these NOP instructions, but this command line option enables
 followed by a NOP instruction in order to ensure the correct
 processing of interrupts.  By default it is up to the programmer to
 supply these NOP instructions, but this command line option enables
-the automatic insertion by the assembler.  Note - the assembler does
-not peek ahead to the next instruction so it will insert a NOP even
-one is already present.
+the automatic insertion by the assembler, if they are missing.
 
 
-@c end-sanitize-msp430
-@c %redact note changed text for mN option
 @item -mN
 disables the generation of a NOP instruction following any instruction
 that might change the interrupts enabled/disabled state.  This is the
 default behaviour.
 
 @item -mN
 disables the generation of a NOP instruction following any instruction
 that might change the interrupts enabled/disabled state.  This is the
 default behaviour.
 
+@item -my
+tells the assembler to generate a warning message if a NOP does not
+immediately forllow an instruction that enables or disables
+interrupts.  This is the default.
+
+Note that this option can be stacked with the @option{-mn} option so
+that the assembler will both warn about missing NOP instructions and
+then insert them automatically.
+
+@item -mY
+disables warnings about missing NOP instructions.
+
 @item -md
 mark the object file as one that requires data to copied from ROM to
 RAM at execution startup.  Disabled by default.
 @item -md
 mark the object file as one that requires data to copied from ROM to
 RAM at execution startup.  Disabled by default.
@@ -263,6 +300,15 @@ command line option.
 @item .profiler
 This directive instructs assembler to add new profile entry to the object file.
 
 @item .profiler
 This directive instructs assembler to add new profile entry to the object file.
 
+@cindex @code{refsym} directive, MSP 430
+@item .refsym
+This directive instructs assembler to add an undefined reference to
+the symbol following the directive.  The maximum symbol name length is
+1023 characters.  No relocation is created for this symbol; it will
+exist purely for pulling in object files from archives.  Note that
+this reloc is not sufficient to prevent garbage collection; use a
+KEEP() directive in the linker file to preserve such objects.
+
 @end table
 
 @node MSP430 Opcodes
 @end table
 
 @node MSP430 Opcodes
This page took 0.048418 seconds and 4 git commands to generate.