]> Shamusworld >> Repos - rmac/blobdiff - expr.c
Initial commit for 68020/30/40/60/68881/68882/68851 support.
[rmac] / expr.c
diff --git a/expr.c b/expr.c
index 4c4168f4a0c543eb45179a5ac376ff2337f8dc7c..01868e8a0b17ecc1c222bd0cdd73ebd557f81228 100644 (file)
--- a/expr.c
+++ b/expr.c
@@ -287,6 +287,20 @@ int expr2(void)
                *evalTokenBuffer++ = (orgactive ? orgaddr : pcloc);
                // '*' takes attributes of current section, not ABS!
                *evalTokenBuffer++ = cursect | DEFINED;
+               break;
+    case '{':
+               if (expr0() != OK)                          // Eat up first parameter (register or immediate)
+                       return ERROR;
+
+               if (*tok++ != ':')                          // Demand a ':' there
+                       return error("missing colon ':'");
+                
+               if (expr0() != OK)                          // Eat up second parameter (register or immediate)
+                       return ERROR;
+                
+               if (*tok++ != '}')
+                       return error("missing close bracket '}'");
+
                break;
        default:
                return error("bad expression");