disclaims liability for changes, errors or omissions.*
-*Copyright © 2011-2020, Reboot*
+*Copyright © 2011-2022, the rmac authors*
*All rights reserved.*
-*Reboot Document number F00000K-001 Rev. A.*
-
Contents
========
+o\ *0-30*/*p* Enable specific optimisation
~o\ *0-30*/*p* Disable specific optimisation
- `0: Absolute long adddresses to word (on by default)`
+ `0: Absolute long adddresses to word`
- `1: move.l #x,Dn/An to moveq (on by default)`
+ `1: move.l #x,Dn/An to moveq`
- `2: Word branches to short (on by default)`
+ `2: Word branches to short`
`3: Outer displacement 0(An) to (An)`
`11: 56001 Auto convert short addressing mode to long (default: on)`
- `o30: Enforce PC relative (alternative name: op)`
+ `30: Enforce PC relative (alternative name: op)`
-p Produce an executable (**.prg**) output file.
-ps Produce an executable (**.prg**) output file with 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 r15
+ r8 r9 r10 r11 r12 r13 r14 r15
6502:
x y a
DSP56001:
Therefore, to align GPU/DSP code, align the current section before and
after the GPU/DSP code.
- **.assert** *expression* [,\ *expression*...]
+**.align** *expression*
+
+ A generalised version of the above directives, this will align the program
+ counter to the boundary of the specified value. Note that there is not much
+ error checking happening (only values 0 and 1 are rejected). Also note that
+ in DSP56001 mode the align value is assumed to be in DSP words, i.e. 24 bits.
+
+**.assert** *expression* [,\ *expression*...]
Assert that the conditions are true (non-zero). If any of the comma-seperated
expressions evaluates to zero an assembler warning is issued. For example: