2
@c Free Software Foundation, Inc.
3
@c This is part of the GAS manual.
4
@c For copying conditions, see the file as.texinfo.
8
@chapter XGATE Dependent Features
11
@node Machine Dependencies
12
@chapter XGATE Dependent Features
17
* XGATE-Opts:: XGATE Options
18
* XGATE-Syntax:: Syntax
19
* XGATE-Directives:: Assembler Directives
20
* XGATE-Float:: Floating Point
21
* XGATE-opcodes:: Opcodes
25
@section XGATE Options
27
@cindex options, XGATE
29
The Freescale XGATE version of @code{@value{AS}} has a few machine
34
@cindex @samp{-mshort}
36
This option controls the ABI and indicates to use a 16-bit integer ABI.
37
It has no effect on the assembled instructions.
42
This option controls the ABI and indicates to use a 32-bit integer ABI.
44
@cindex @samp{-mshort-double}
46
This option controls the ABI and indicates to use a 32-bit float ABI.
49
@cindex @samp{-mlong-double}
51
This option controls the ABI and indicates to use a 64-bit float ABI.
53
@cindex @samp{--print-insn-syntax}
54
@item --print-insn-syntax
55
You can use the @samp{--print-insn-syntax} option to obtain the
56
syntax description of the instruction when an error is detected.
58
@cindex @samp{--print-opcodes}
60
The @samp{--print-opcodes} option prints the list of all the
61
instructions with their syntax. Once the list is printed
62
@code{@value{AS}} exits.
72
In XGATE RISC syntax, the instruction name comes first and it may
73
be followed by up to three operands. Operands are separated by commas
74
(@samp{,}). @code{@value{AS}} will complain if too many operands are specified
75
for a given instruction. The same will happen if you specified too few
84
@cindex line comment character, XGATE
85
@cindex XGATE line comment character
86
The presence of a @samp{;} character or a @samp{!} character anywhere
87
on a line indicates the start of a comment that extends to the end of
90
A @samp{*} or a @samp{#} character at the start of a line also
91
introduces a line comment, but these characters do not work elsewhere
92
on the line. If the first character of the line is a @samp{#} then as
93
well as starting a comment, the line could also be logical line number
94
directive (@pxref{Comments}) or a preprocessor control command
95
(@pxref{Preprocessing}).
97
@cindex line separator, XGATE
98
@cindex statement separator, XGATE
99
@cindex XGATE line separator
100
The XGATE assembler does not currently support a line separator
103
@cindex XGATE addressing modes
104
@cindex addressing modes, XGATE
105
The following addressing modes are understood for XGATE:
110
@item Immediate 3 Bit Wide
113
@item Immediate 4 Bit Wide
116
@item Immediate 8 Bit Wide
119
@item Monadic Addressing
122
@item Dyadic Addressing
123
@samp{@var{reg}, @var{reg}}
125
@item Triadic Addressing
126
@samp{@var{reg}, @var{reg}, @var{reg}}
128
@item Relative Addressing 9 Bit Wide
131
@item Relative Addressing 10 Bit Wide
134
@item Index Register plus Immediate Offset
135
@samp{@var{reg}, (@var{reg}, #@var{number})}
137
@item Index Register plus Register Offset
138
@samp{@var{reg}, @var{reg}, @var{reg}}
140
@item Index Register plus Register Offset with Post-increment
141
@samp{@var{reg}, @var{reg}, @var{reg}+}
143
@item Index Register plus Register Offset with Pre-decrement
144
@samp{@var{reg}, @var{reg}, -@var{reg}}
146
The register can be either @samp{R0}, @samp{R1}, @samp{R2}, @samp{R3},
147
@samp{R4}, @samp{R5}, @samp{R6} or @samp{R7}.
151
Convience macro opcodes to deal with 16-bit values have been added.
155
@item Immediate 16 Bit Wide
156
@samp{#@var{number}}, or @samp{*@var{symbol}}
169
@node XGATE-Directives
170
@section Assembler Directives
172
@cindex assembler directives, XGATE
173
@cindex XGATE assembler directives
175
The XGATE version of @code{@value{AS}} have the following
176
specific assembler directives:
179
@section Floating Point
181
@cindex floating point, XGATE
182
@cindex XGATE floating point
183
Packed decimal (P) format floating literals are not supported(yet).
185
The floating point formats generated by directives are these.
188
@cindex @code{float} directive, XGATE
190
@code{Single} precision floating point constants.
192
@cindex @code{double} directive, XGATE
194
@code{Double} precision floating point constants.
196
@cindex @code{extend} directive XGATE
197
@cindex @code{ldouble} directive XGATE
200
@code{Extended} precision (@code{long double}) floating point constants.
207
@cindex XGATE opcodes
208
@cindex instruction set, XGATE