]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gas/doc/c-i370.texi
Remove trailing white spaces on gas
[thirdparty/binutils-gdb.git] / gas / doc / c-i370.texi
index 401d07e1ef5cc6743cff7b4fb7b8343fa89b2ef4..a580a7cd3034e0a2afdbc3d4d763ee0dc40f7a18 100644 (file)
 @section Notes
 The ESA/390 @code{@value{AS}} port is currently intended to be a back-end
 for the @sc{gnu} @sc{cc} compiler.  It is not HLASM compatible, although
-it does support a subset of some of the HLASM directives.  The only 
-supported binary file format is ELF; none of the usual MVS/VM/OE/USS 
+it does support a subset of some of the HLASM directives.  The only
+supported binary file format is ELF; none of the usual MVS/VM/OE/USS
 object file formats, such as ESD or XSD, are supported.
 
 When used with the @sc{gnu} @sc{cc} compiler, the ESA/390 @code{@value{AS}}
-will produce correct, fully relocated, functional binaries, and has been 
-used to compile and execute large projects.  However, many aspects should 
-still be considered experimental; these include shared library support, 
-dynamically loadable objects, and any relocation other than the 31-bit 
+will produce correct, fully relocated, functional binaries, and has been
+used to compile and execute large projects.  However, many aspects should
+still be considered experimental; these include shared library support,
+dynamically loadable objects, and any relocation other than the 31-bit
 relocation.
 
 @node ESA/390 Options
@@ -46,9 +46,9 @@ relocation.
 @node ESA/390 Syntax
 @section Syntax
 The opcode/operand syntax follows the ESA/390 Principles of Operation
-manual; assembler directives and general syntax are loosely based on the 
+manual; assembler directives and general syntax are loosely based on the
 prevailing AT&T/SVR4/ELF/Solaris style notation.  HLASM-style directives
-are @emph{not} supported for the most part, with the exception of those 
+are @emph{not} supported for the most part, with the exception of those
 described herein.
 
 A leading dot in front of directives is optional, and the case of
@@ -66,20 +66,20 @@ write code.
 Since @samp{$} has no special meaning, you may use it in symbol names.
 
 Registers can be given the symbolic names r0..r15, fp0, fp2, fp4, fp6.
-By using thesse symbolic names, @code{@value{AS}} can detect simple 
+By using thesse symbolic names, @code{@value{AS}} can detect simple
 syntax errors. The name rarg or r.arg is a synonym for r11, rtca or r.tca
-for r12, sp, r.sp, dsa r.dsa for r13, lr or r.lr for r14, rbase or r.base 
+for r12, sp, r.sp, dsa r.dsa for r13, lr or r.lr for r14, rbase or r.base
 for r3 and rpgt or r.pgt for r4.
 
 @samp{*} is the current location counter.  Unlike @samp{.} it is always
-relative to the last USING directive.  Note that this means that 
+relative to the last USING directive.  Note that this means that
 expressions cannot use multiplication, as any occurrence of @samp{*}
 will be interpreted as a location counter.
 
-All labels are relative to the last USING.  Thus, branches to a label 
+All labels are relative to the last USING.  Thus, branches to a label
 always imply the use of base+displacement.
 
-Many of the usual forms of address constants / address literals 
+Many of the usual forms of address constants / address literals
 are supported.  Thus,
 @example
        .using  *,r3
@@ -93,7 +93,7 @@ are supported.  Thus,
        .ltorg
 @end example
 should all behave as expected: that is, an entry in the literal
-pool will be created (or reused if it already exists), and the 
+pool will be created (or reused if it already exists), and the
 instruction operands will be the displacement into the literal pool
 using the current base register (as last declared with the @code{.using}
 directive).
@@ -109,7 +109,7 @@ floating point formats are not supported.
 @node ESA/390 Directives
 @section ESA/390 Assembler Directives
 
-@code{@value{AS}} for the ESA/390 supports all of the standard ELF/SVR4 
+@code{@value{AS}} for the ESA/390 supports all of the standard ELF/SVR4
 assembler directives that are documented in the main part of this
 documentation.  Several additional directives are supported in order
 to implement the ESA/390 addressing model.  The most important of these
@@ -119,7 +119,7 @@ are @code{.using} and @code{.ltorg}
 These are the additional directives in @code{@value{AS}} for the ESA/390:
 
 @table @code
-@item .dc 
+@item .dc
 A small subset of the usual DC directive is supported.
 
 @item .drop @var{regno}
@@ -132,11 +132,11 @@ Emit the EBCDIC equivalent of the indicated string.  The emitted string
 will be null terminated.  Note that the directives @code{.string} etc. emit
 ascii strings by default.
 
-@item EQU 
-The standard HLASM-style EQU directive is not supported; however, the 
+@item EQU
+The standard HLASM-style EQU directive is not supported; however, the
 standard @code{@value{AS}} directive .equ can be used to the same effect.
 
-@item .ltorg 
+@item .ltorg
 Dump the literal pool accumulated so far; begin a new literal pool.
 The literal pool will be written in the current section; in order to
 generate correct assembly, a @code{.using} must have been previously
@@ -148,20 +148,20 @@ instructions. The @var{expr} will be evaluated to obtain the base address;
 usually, @var{expr} will merely be @samp{*}.
 
 This assembler allows two @code{.using} directives to be simultaneously
-outstanding, one in the @code{.text} section, and one in another section 
-(typically, the @code{.data} section).  This feature allows 
-dynamically loaded objects to be implemented in a relatively 
-straightforward way.  A @code{.using} directive must always be specified 
+outstanding, one in the @code{.text} section, and one in another section
+(typically, the @code{.data} section).  This feature allows
+dynamically loaded objects to be implemented in a relatively
+straightforward way.  A @code{.using} directive must always be specified
 in the @code{.text} section; this will specify the base register that
 will be used for branches in the @code{.text} section.  A second
 @code{.using} may be specified in another section; this will specify
 the base register that is used for non-label address literals.
 When a second @code{.using} is specified, then the subsequent
-@code{.ltorg} must be put in the same section; otherwise an error will 
+@code{.ltorg} must be put in the same section; otherwise an error will
 result.
 
-Thus, for example, the following code uses @code{r3} to address branch 
-targets and @code{r4} to address the literal pool, which has been written 
+Thus, for example, the following code uses @code{r3} to address branch
+targets and @code{r4} to address the literal pool, which has been written
 to the @code{.data} section.  The is, the constants @code{=A(some_routine)},
 @code{=H'42'} and @code{=E'3.1416'} will all appear in the @code{.data}
 section.
@@ -188,8 +188,8 @@ LITPOOL:
 @end example
 
 
-Note that this dual-@code{.using} directive semantics extends 
-and is not compatible with HLASM semantics.  Note that this assembler 
+Note that this dual-@code{.using} directive semantics extends
+and is not compatible with HLASM semantics.  Note that this assembler
 directive does not support the full range of HLASM semantics.
 
 @end table