]> Shamusworld >> Repos - rmac/blobdiff - expr.c
New keyword ^^ABSCOUNT counts bytes defined in current .abs section.
[rmac] / expr.c
diff --git a/expr.c b/expr.c
index d1b9ac2e08e50114af26a0272cc93f5e0123348b..0ecaa45316e2e69baa173512a79ab643ecf94b4f 100644 (file)
--- a/expr.c
+++ b/expr.c
@@ -34,7 +34,8 @@ char itokcl[] = {
        ')', ']', '}', 0,                               // CPAR 
        CR_DEFINED, CR_REFERENCED,              // SUNARY (special unary)
        CR_STREQ, CR_MACDEF,
-       CR_DATE, CR_TIME, 0,
+       CR_DATE, CR_TIME, 
+       CR_ABSCOUNT, 0,
        '!', '~', UNMINUS, 0,                   // UNARY
        '*', '/', '%', 0,                               // MULT 
        '+', '-', 0,                                    // ADD 
@@ -149,6 +150,10 @@ int expr1(void)
        {
                switch ((int)*tok++)
                {
+               case CR_ABSCOUNT:
+                       *evalTokenBuffer++ = CONST;
+                       *evalTokenBuffer++ = (LONG)sect[ABS].sloc;
+                       break;
                case CR_TIME:
                        *evalTokenBuffer++ = CONST;
                        *evalTokenBuffer++ = dos_time();