;
and #
are the line comment characters.
Sub-instructions may be executed in order, in reverse-order, or in parallel.
Instructions listed in the standard one-per-line format will be executed
sequentially unless you use the -O
option.
To specify the executing order, use the following symbols:
->
<-
||
The D30V syntax allows either one instruction per line, one instruction per line with the execution symbol, or two instructions per line. For example
abs r2,r3 -> abs r4,r5
abs r2,r3 <- abs r4,r5
abs r2,r3 || abs r4,r5
ldw r2,@(r3,r4) ||
mulx r6,r8,r9
mulx a0,r8,r9
stw r2,@(r3,r4)
-O
option is
used. If the -O
option is used, the assembler will determine if
the instructions could be done in parallel (the above two instructions
can be done in parallel), and if so, emit them as parallel instructions.
The assembler will put them in the proper containers. In the above
example, the assembler will put the stw
instruction in left
container and the mulx
instruction in the right container.
stw r2,@(r3,r4) ->
mulx a0,r8,r9
stw
instruction followed by the
mulx
instruction sequentially. The first instruction goes in the
left container and the second instruction goes into right container.
The assembler will give an error if the machine ordering constraints are
violated.
stw r2,@(r3,r4) <-
mulx a0,r8,r9
mulx
instruction is
executed before the stw
instruction.
Since $
has no special meaning, you may use it in symbol names.