X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=docs%2Frmac.rst;fp=docs%2Frmac.rst;h=b3d25db0eab34c65016e5c4b8e9e14646d78038e;hp=36dc5e0ade2a63e047efd01898483c644560dfe0;hb=253a4352d61d123a20ebb8999127a58498543e8d;hpb=db581e2d9efe477db3a70fb8e947f3d009545d09 diff --git a/docs/rmac.rst b/docs/rmac.rst index 36dc5e0..b3d25db 100644 --- a/docs/rmac.rst +++ b/docs/rmac.rst @@ -17,12 +17,10 @@ the accuracy of printed or duplicated material after the date of publication and 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 ======== @@ -158,11 +156,11 @@ Switch Description +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)` @@ -182,7 +180,7 @@ Switch Description `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. @@ -652,7 +650,7 @@ and may not be used as symbols (e.g. labels, equates, or the names of macros): 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: @@ -1037,7 +1035,14 @@ Directives relating to the 6502 are described in the chapter on `6502 Support`_. 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: