Chapter 16.
D30V Dependent Features
16.1. D30V Options
The Mitsubishi D30V version of
as
has a few machine dependent options.
 O
The D30V can often execute two sub instructions in parallel. When this option is used,
as
will
attempt to optimize its output by detecting when instructions can be executed in parallel.
 n
When this option is used,
as
will issue a warning every time it adds a nop instruction.
 N
When this option is used,
as
will issue a warning if it needs to insert a nop after a 32 bit multiply
before a load or 16 bit multiply instruction.
16.2. Syntax
The D30V syntax is based on the syntax in Mitsubishi's D30V architecture manual. The differences
are detailed below.
16.2.1. Size Modifiers
The D30V version of
as
uses the instruction names in the D30V Architecture Manual. However, the
names in the manual are sometimes ambiguous. There are instruction names that can assemble to
a short or long form opcode. How does the assembler pick the correct form?
as
will always pick
the smallest form if it can. When dealing with a symbol that is not defined yet when a line is being
assembled, it will always use the long form. If you need to force the assembler to use either the short
or long form of the instruction, you can append either
.s
(short) or
.l
(long) to it. For example, if you
are writing an assembly program and you want to do a branch to a symbol that is defined later in your
program, you can write
bra.s foo
. Objdump and GDB will always append
.s
or
.l
to instructions
which have both short and long forms.
16.2.2. Sub Instructions
The D30V assembler takes as input a series of instructions, either one per line, or in the special two 
per line format described in the next section. Some of these instructions will be short form or sub 
instructions. These sub instructions can be packed into a single instruction. The assembler will do this
automatically. It will also detect when it should not pack instructions. For example, when a label is
defined, the next instruction will never be packaged with the previous one. Whenever a branch and
link instruction is called, it will not be packaged with the next instruction so the return address will be
valid. Nops are automatically inserted when necessary.
If you do not want the assembler automatically making these decisions, you can control the packaging
and execution type (parallel or sequential) with the special execution symbols described in the next
section.






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