]> Shamusworld >> Repos - rmac/blobdiff - expr.c
EOY minor update.
[rmac] / expr.c
diff --git a/expr.c b/expr.c
index d1ee1f55a1ffc824ecfaa540a91aa8b422baa17d..270c072c621c2618728a736d8fe3b7bd54798bff 100644 (file)
--- a/expr.c
+++ b/expr.c
@@ -1,7 +1,7 @@
 //
 // RMAC - Reboot's Macro Assembler for all Atari computers
 // EXPR.C - Expression Analyzer
-// Copyright (C) 199x Landon Dyer, 2011-2019 Reboot and Friends
+// Copyright (C) 199x Landon Dyer, 2011-2020 Reboot and Friends
 // RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986
 // Source utilised with the kind permission of Landon Dyer
 //
@@ -155,8 +155,16 @@ int expr1(void)
                switch (*tok++)
                {
                case CR_ABSCOUNT:
-                       *evalTokenBuffer.u32++ = CONST;
-                       *evalTokenBuffer.u64++ = (uint64_t)sect[ABS].sloc;
+                       if (cursect != ABS)
+                       {
+                               *evalTokenBuffer.u32++ = CONST;
+                               *evalTokenBuffer.u64++ = sect[ABS].sloc;
+                       }
+                       else
+                       {
+                               *evalTokenBuffer.u32++ = CONST;
+                               *evalTokenBuffer.u64++ = sloc;
+                       }
                        break;
                case CR_TIME:
                        *evalTokenBuffer.u32++ = CONST;