`jerry - Jaguar DSP JRISC`
-o\ *file[.o]* Direct object code output to the specified file.
-+/~oall Turn all optimisations on/off
-+o\ *0-10*/*p* Enable specific optimisation
-~o\ *0-10*/*p* Disable specific optimisation
++/~oall Turn all optimisations on/off
++o\ *0-30*/*p* Enable specific optimisation
+~o\ *0-30*/*p* Disable specific optimisation
`0: Absolute long adddresses to word (on by default)`
`9: Convert adda.w/l #x,Dy to lea x(Dy),Dy`
- `p: Force PC-Relative mode (alternative: o10)`
+ `10: 56001 Use short format for immediate values if possible`
+
+ `11: 56001 Auto convert short addressing mode to long (default: on)`
+
+ `o30: Enforce PC relative (alternative name: op)`
+
-p Produce an executable (**.prg**) output file.
-ps Produce an executable (**.prg**) output file with symbols.
-px Produce an executable (**.prg**) output file with extended symbols.
a0 a1 a2 a3 a4 a5 a6 a7
Tom/Jerry:
r0 r1 r2 r3 r4 r5 r6 r7
- r8 r9 r10 r11 r12 rl3 r14 ri5
+ r8 r9 r10 r11 r12 rl3 r14 r15
6502:
x y a
DSP56001:
Assembler directives may be any mix of upper- or lowercase. The leading periods
are optional, though they are shown here and their use is encouraged. Directives
may be preceeded by a label; the label is defined before the directive is executed.
-Some directives accept size suffixes (**.b**, **.s**, **.w**, **.1**, **.d**, **.x**, **.p**, or **.q**);
+Some directives accept size suffixes (**.b**, **.s**, **.w**, **.1**, **.d**, **.x**, **.p**, or **.q**);
the default is word (**.w**) if no size is specified. The **.s** suffix is identical to **.b**,
with the exception of being used in a **dc** statement. In that case the **.s**
refers to single precision floating point numbers.
Start an absolute section, beginning with the specified location (or zero, if
no location is specified). An absolute section is much like BSS, except that
locations declared with .ds are based absolute. This directive is useful for
-
declaring structures or hardware locations.
For example, the following equates:
* All optimisations are turned off for any source line that has an exclamation mark
(*!*) on their first column.
- * Optimisation switches 0, 1 and 2 are turned on by default for legacy reasons.
+ * Optimisation switch 11 is turned on by default for compatibility with the
+ Motorola reference 56001 DSP assembler.
All other levels are off by default. (refer to section `The Command Line`_
for a description of all the switches).
* Optimisation warnings are off by default. Invoke RMAC with the *-s* switch to
turn on warnings in console and listing output.
- * In DSP56001 mode size optimisations are on by default. Currently there is no
- way to disable this behaviour.
-
* In GPU/DSP code sections, you can use JUMP (Rx) in place of JUMP T, (Rx) and JR
(Rx) in place of JR T,(Rx).
`6502 Support`_
===============
-RMAC will generate code for the Motorola 6502 microprocessor. This chapter
+RMAC will generate code for the MOS 6502 microprocessor. This chapter
describes extra addressing modes and directives used to support the 6502.
As the 6502 object code is not linkable (currently there is no linker) external
You tried to ``.comm`` a symbol that was already defined.
-**.ds permitted only in BSS**
-
- You tried to use ``.ds`` in the text or data section.
-
**.init not permitted in BSS or ABS**
You tried to use ``.init`` in the BSS or ABS section.
You followed a ^^ with something other than one of the names defined, referenced
or streq.
-**unsupported 68020 addressing mode**
-
- The assembler saw a 68020-type addressing mode. RMAC does not assemble
- code for the 68020 or 68010.
-
**unterminated string**
You specified a string starting with a single or double quote, but forgot to type