@menu
* D10V-Regs:: Register Names
* D10V-Size:: Size Modifiers
+* D10V-Subs:: Sub-Instructions
* D10V-Chars:: Special Characters
* D10V-Addressing:: Addressing Modes
@end menu
@item c
Carry flag
@end table
-
+
@node D10V-Size
@subsection Size Modifiers
@cindex D10V size modifiers
Objdump and GDB will always append @samp{.s} or @samp{.l} to instructions which
have both short and long forms.
+@node D10V-Subs
+@subsection Sub-Instructions
+@cindex D10V sub-instructions
+@cindex sub-instructions, D10V
+The D10V 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.
+
@node D10V-Chars
@subsection Special Characters
@cindex line comment character, D10V
@item abs r0 <- abs a1
Execute these reverse-sequentially. The instruction on the right is in the right
container, and is executed first.
-@item ld2w r2,@r8+ || mac a0,r0,r7
+@item ld2w r2,@@r8+ || mac a0,r0,r7
Execute these in parallel.
-@item ld2w r2,@r8+ ||
+@item ld2w r2,@@r8+ ||
@itemx mac a0,r0,r7
Two-line format. Execute these in parallel.
-@item ld2w r2,@r8+
+@item ld2w r2,@@r8+
@itemx mac a0,r0,r7
Two-line format. Execute these sequentially. Assembler will
put them in the proper containers.
-@item ld2w r2,@r8+ ->
+@item ld2w r2,@@r8+ ->
@itemx mac a0,r0,r7
Two-line format. Execute these sequentially. Same as above but
second instruction will always go into right container.
Register indirect with pre-decrement
@item @@(@var{disp}, R@var{n})
Register indirect with displacement
-@item @@(R0, GBR)
-GBR indexed
@item @var{addr}
PC relative address (for branch or rep).
@item #@var{imm}