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




 

 

 

 

 Home | About Us | Network | Services | Support | FAQ | Control Panel | Order Online | Sitemap | Contact

canadian web hosting

 

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