Chapter 26.
M680x0 Dependent Features
26.1. M680x0 Options
The Motorola 680x0 version of
as
has a few machine dependent options:
l
You can use the
l
option to shorten the size of references to undefined symbols. If you do not
use the
l
option, references to undefined symbols are wide enough for a full
long
(32 bits).
(Since
as
cannot know where these symbols end up,
as
can only allocate space for the linker to
fill in later. Since
as
does not know how far away these symbols are, it allocates as much space as
it can.) If you use this option, the references are only one word wide (16 bits). This may be useful
if you want the object file to be as small as possible, and you know that the relevant symbols are
always less than 17 bits away.
register prefix optional
For some configurations, especially those where the compiler normally does not prepend an
underscore to the names of user variables, the assembler requires a
%
before any use of a register
name. This is intended to let the assembler distinguish between C variables and functions named
a0
through
a7
, and so on. The
%
is always accepted, but is not required for certain configurations,
notably
sun3
. The
register prefix optional
option may be used to permit omitting the
%
even for configurations for which it is normally required. If this is done, it will generally be
impossible to refer to C variables and functions with the same names as register names.
bitwise or
Normally the character
|
is treated as a comment character, which means that it can not be used
in expressions. The
bitwise or
option turns
|
into a normal character. In this mode, you must
either use C style comments, or start comments with a
#
character at the beginning of a line.
base size default 16 base size default 32
If you use an addressing mode with a base register without specifying the size,
as
will nor
mally use the full 32 bit value. For example, the addressing mode
%a0@(%d0)
is equivalent to
%a0@(%d0:l)
. You may use the
base size default 16
option to tell
as
to default to us
ing the 16 bit value. In this case,
%a0@(%d0)
is equivalent to
%a0@(%d0:w)
. You may use the
base size default 32
option to restore the default behaviour.
disp size default 16 disp size default 32
If you use an addressing mode with a displacement, and the value of the displacement is not
known,
as
will normally assume that the value is 32 bits. For example, if the symbol
disp
has
not been defined,
as
will assemble the addressing mode
%a0@(disp,%d0)
as though
disp
is
a 32 bit value. You may use the
disp size default 16
option to tell
as
to instead assume
that the displacement is 16 bits. In this case,
as
will assemble
%a0@(disp,%d0)
as though
disp
is a 16 bit value. You may use the
disp size default 32
option to restore the default
behaviour.
footer
Our partners:
PHP: Hypertext Preprocessor Best Web Hosting
Java Web Hosting
Inexpensive Web Hosting
Jsp Web Hosting
Cheapest Web Hosting
Jsp Hosting
Cheap Hosting
Visionwebhosting.net Business web hosting division of Web
Design Plus. All rights reserved