- // Advance token pointer to the constant
- tok += 3;
-
- // Anything other than a 0 or a 1 will result in "No Bank"
- if (*(uint64_t *)tok == 0)
- registerbank = BANK_0;
- else if (*(uint64_t *)tok == 1)
- registerbank = BANK_1;
-
- // Advance half-way through the 64-bit const.
- // The code below, expecting a regular token,
- // will advance past the second half.
+ // sy->sattre = EQUATEDREG | RISCSYM; // Mark as equated register
+ sy->sattre = EQUATEDREG; // Mark as equated register
+ riscreg = *tok;
+
+ // Default is current state of "regbank"
+ registerbank = regbank;
+
+ // Check for ",<bank #>" override notation
+ if ((tok[1] == ',') && (tok[2] == CONST))
+ {
+ // Advance token pointer to the constant
+ tok += 3;
+
+ // Anything other than a 0 or a 1 will result in "No Bank"
+ if (*(uint64_t*)tok == 0)
+ registerbank = BANK_0;
+ else if (*(uint64_t*)tok == 1)
+ registerbank = BANK_1;
+
+ // Advance half-way through the 64-bit const.
+ // The code below, expecting a regular token,
+ // will advance past the second half.
+ tok++;
+ }
+
+ sy->sattre |= registerbank; // Store register bank
+ eattr = ABS | DEFINED | GLOBAL;
+ eval = riscreg;