]> Shamusworld >> Repos - rmac/commitdiff
Somehow these files slipped through the cracks... :-/
authorShamus Hammons <jlhamm@acm.org>
Wed, 9 Jun 2021 00:41:45 +0000 (19:41 -0500)
committerShamus Hammons <jlhamm@acm.org>
Wed, 9 Jun 2021 00:41:45 +0000 (19:41 -0500)
docs/rmac.rst
object.c
rmac.c
version.h

index a562e85ff139a8fb2efaaf5b4db69380de8a313b..bfbd66c08eac4e3abf390d77995a0bfca59f15e2 100644 (file)
@@ -4,7 +4,7 @@ RMAC
 =====================
 Reference Manual
 ================
-version 2.0.18
+version 2.0.21
 ==============
 
 © and notes
@@ -154,8 +154,8 @@ Switch               Description
 
                       -o\ *file[.o]*       Direct object code output to the specified file.
 +/~oall              Turn all optimisations on/off
-+o\ *0-9*            Enable specific optimisation
-~o\ *0-9*            Disable specific optimisation
++o\ *0-10*/*p*       Enable specific optimisation
+~o\ *0-10*/*p*       Disable specific optimisation
 
                       `0: Absolute long adddresses to word (on by default)`
                       
@@ -177,7 +177,7 @@ Switch               Description
 
                       `9: Convert adda.w/l #x,Dy to lea x(Dy),Dy`
 
-                      'p: Enforce PC relative'
+                      `p: Force PC-Relative mode (alternative: o10)`
 -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.
@@ -803,7 +803,7 @@ Operator                            Description
 **~**                               Tilde: bitwise not (l's complement).
 **^^defined** *symbol*              True if symbol has a value.
 **^^referenced** *symbol*           True if symbol has been referenced.
-**^^streq** *stringl*,*string2*     True if the strings are equal.
+**^^streq** *stringl*, *string2*    True if the strings are equal.
 **^^macdef** *macroName*            True if the macro is defined.
 **^^abscount**                      Returns the size of current .abs section
 **^^filesize** *string_filename*    Returns the file size of supplied filename
@@ -2088,7 +2088,7 @@ indicates that the assembler could not determine which file had the problem.
 The following sections list warnings, errors and fatal errors in alphabetical
 order, along with a short description of what may have caused the problem.
 
-.. [3] If you come across an internal error, we would appreciate it if you would contact Atari Technical Support and let us know about the problem.
+.. [3] If you come across an internal error, we would appreciate it if you would contact the rmac development team and let us know about the problem.
 
 `Warnings`_
 '''''''''''
@@ -2406,13 +2406,13 @@ order, along with a short description of what may have caused the problem.
 
 **unknown symbol following ^^**
 
-  You followed a ^^ with something other than one of the names defined, ref-
-  erenced or streq.
+  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 assem-
-  ble code for the 68020 or 68010.
+  The assembler saw a 68020-type addressing mode. RMAC does not assemble
+  code for the 68020 or 68010.
 
 **unterminated string**
 
index 1b33ffc15cc1fd161f2fe579771cce04beda57ec..ada5337010c9f371de680c26ef317b6308654a82 100644 (file)
--- a/object.c
+++ b/object.c
@@ -161,6 +161,24 @@ uint8_t * AddSymEntry(register uint8_t * buf, SYM * sym, int globflag)
 //
 // Add an entry to the BSD symbol table
 //
+// From stab.def (https://sites.uclouvain.be/SystInfo/usr/include/bits/stab.def.html):
+/*
+_________________________________________________
+| 00 - 1F are not dbx stab symbols              |
+| In most cases, the low bit is the EXTernal bit|
+
+| 00 UNDEF  | 02 ABS    | 04 TEXT   | 06 DATA   |
+| 01  |EXT  | 03  |EXT  | 05  |EXT  | 07  |EXT  |
+
+| 08 BSS    | 0A INDR   | 0C FN_SEQ | 0E WEAKA  |
+| 09  |EXT  | 0B        | 0D WEAKU  | 0F WEAKT  |
+
+| 10 WEAKD  | 12 COMM   | 14 SETA   | 16 SETT   |
+| 11 WEAKB  | 13        | 15        | 17        |
+
+| 18 SETD   | 1A SETB   | 1C SETV   | 1E WARNING|
+| 19        | 1B        | 1D        | 1F FN     |
+*/
 uint8_t * AddBSDSymEntry(uint8_t * buf, SYM * sym, int globflag)
 {
        chptr = buf;                                            // Point to buffer for depositing longs
diff --git a/rmac.c b/rmac.c
index ef190ec0fc959434839d45cfb8a7a2c34ab89f46..0da81bec4ee37d3d4b941628f393c87f64b86a80 100644 (file)
--- a/rmac.c
+++ b/rmac.c
@@ -185,7 +185,7 @@ void DisplayHelp(void)
                "                    o7: clr.l Dx to moveq #0,Dx                       (off)\n"
                "                    o8: adda.w/l #x,Dy to addq.w/l #x,Dy              (off)\n"
                "                    o9: adda.w/l #x,Dy to lea x(Dy),Dy                (off)\n"
-               "                    op: Enforce PC relative                           (off)\n"
+               "                    op: Enforce PC relative (alternative: o10)        (off)\n"
                "  ~o[value]         Turn a specific optimisation off\n"
                "  +oall             Turn all optimisations on\n"
                "  ~oall             Turn all optimisations off\n"
index bd535168e1a801859d38559eae0c57873f236089..8f2bce055f222aa03df3fcc8f932b111097adc1c 100644 (file)
--- a/version.h
+++ b/version.h
@@ -15,6 +15,6 @@
 
 #define MAJOR   2              // Major version number
 #define MINOR   1              // Minor version number
-#define PATCH   3              // Patch release number
+#define PATCH   4              // Patch release number
 
 #endif // __VERSION_H__