Added documentation for new command line options and pseudo ops.
[deliverable/binutils-gdb.git] / gas / doc / c-v850.texi
index 8dc70f78eb04a16be3866d0291be5931d9a555e5..71a2a35a770d264f8b88fe35f602884e208a009e 100644 (file)
@@ -2,7 +2,7 @@
 @c This is part of the GAS manual.
 @c For copying conditions, see the file as.texinfo.
 
-@node Machine Dependencies
+@node V850-Dependent
 @chapter v850 Dependent Features
 
 @cindex V850 support
 @section Options
 @cindex V850 options (none)
 @cindex options for V850 (none)
-@code{@value{AS}} has no additional command-line options for the V850
-processor family.
+@code{@value{AS}} supports the following additional command-line options
+for the V850 processor family:
+
+@cindex command line options, V850
+@cindex V850 command line options
+@table @code
+
+@cindex @code{-wsigned_overflow} command line option, V850
+@item -wsigned_overflow
+Causes warnings to be produced when signed immediate values overflow the
+space available for then within their opcodes.  By default this option
+is disabled as it is possible to receive spurious warnings due to using
+exact bit patterns as immediate constants.
+
+@cindex @code{-wunsigned_overflow} command line option, V850
+@item -wunsigned_overflow
+Causes warnings to be produced when unsigned immediate values overflow
+the space available for then within their opcodes.  By default this
+option is disabled as it is possible to receive spurious warnings due to
+using exact bit patterns as immediate constants.
+
+@cindex @code{-mv850} command line option, V850
+@item -mv850
+Specifies that the assembled code should be marked as being targeted at
+the V850 processor.  This allows the linker to detect attempts to link
+such code with code assembled for other processors.
+
+@c start-santize-v850e
+@cindex @code{-mv850e} command line option, V850
+@item -mv850e
+Specifies that the assembled code should be marked as being targeted at
+the V850E processor.  This allows the linker to detect attempts to link
+such code with code assembled for other processors.
+@c end-santize-v850e
+
+@c start-santize-v850eq
+@cindex @code{-mv850eq} command line option, V850
+@item -mv850eq
+Specifies that the assembled code should be marked as being targeted at
+the V850EQ processor.  This allows the linker to detect attempts to link
+such code with code assembled for other processors.
+@c end-santize-v850eq
+
+@end table
+
 
 @node V850 Syntax
 @section Syntax
@@ -47,7 +90,7 @@ r0, zero
 @item general register 1
 r1
 @item general register 2
-r2
+r2, hp
 @cindex @code{sp} register, V850
 @item general register 3
 r3, sp
@@ -171,6 +214,28 @@ This is an extension to the standard .section directive.  It sets the
 current section to be <type> and creates an alias for this section
 called "name". 
 
+@cindex @code{.v850} directive, V850
+@item .v850
+Specifies that the assembled code should be marked as being targeted at
+the V850 processor.  This allows the linker to detect attempts to link
+such code with code assembled for other processors.
+
+@c start-santize-v850e
+@cindex @code{.v850e} directive, V850
+@item .v850e
+Specifies that the assembled code should be marked as being targeted at
+the V850E processor.  This allows the linker to detect attempts to link
+such code with code assembled for other processors.
+@c end-santize-v850e
+
+@c start-santize-v850eq
+@cindex @code{.v850eq} directive, V850
+@item .v850eq
+Specifies that the assembled code should be marked as being targeted at
+the V850EQ processor.  This allows the linker to detect attempts to link
+such code with code assembled for other processors.
+@c end-santize-v850eq
+
 @end table
 
 @node V850 Opcodes
@@ -221,22 +286,30 @@ loads the contents of the location pointed to by the label '_a_variable'
 into register 6, provided that the label is located somewhere within +/-
 32K of the address held in the GP register.  [Note the linker assumes
 that the GP register contains a fixed address set to the address of the
-label called '__gp'].
+label called '__gp'.  This can either be set up automatically by the
+linker, or specifically set by using the @samp{--defsym __gp=<value>}
+command line option].
 
 @cindex @code{tdaoff} pseudo-op, V850
 @item tdaoff()
 Computes the offset of the named variable from the start of the Tiny
 Data Area (whoes address is held in register 30, the EP register) and
-stores the result as a 4,5,7 or 8 bit unsigned value in the immediate
+stores the result as a
+@c start-santize-v850e
+4,5,
+@c end-santize-v850e
+7 or 8 bit unsigned value in the immediate
 operand field of the given instruction.  For example:
 
       @samp{sld.w tdaoff(_a_variable)[ep],r6}
 
 loads the contents of the location pointed to by the label '_a_variable'
-into register 6, provided that the label is located somewhere within 256
+into register 6, provided that the label is located somewhere within +256
 bytes of the address held in the EP register.  [Note the linker assumes
 that the EP register contains a fixed address set to the address of the
-label called '--ep'].
+label called '__ep'.  This can either be set up automatically by the
+linker, or specifically set by using the @samp{--defsym __ep=<value>}
+command line option].
 
 @cindex @code{zdaoff} pseudo-op, V850
 @item zdaoff()
@@ -247,7 +320,9 @@ given instruction.  For example:
       @samp{movea zdaoff(_a_variable),zero,r6}
 
 puts the address of the label '_a_variable' into register 6, assuming
-that the label is somewhere within the first 32K of memory.
+that the label is somewhere within the first 32K of memory.  (Strictly
+speaking it also possible to access the last 32K of memory as well, as
+the offsets are signed).
 
 @end table
 
This page took 0.024246 seconds and 4 git commands to generate.