static LONG macuniq; // Unique-per-macro number
static SYM * curmac; // Macro currently being defined
-static VALUE argno; // Formal argument count
+static uint32_t argno; // Formal argument count
static LLIST * firstrpt; // First .rept line
static LLIST * nextrpt; // Last .rept line
//
int HandleRept(void)
{
- VALUE eval;
+ uint64_t eval;
// Evaluate repeat expression
if (abs_expr(&eval) != OK)
IREPT * irept = inobj->inobj.irept;
irept->ir_firstln = firstrpt;
irept->ir_nextln = NULL;
- irept->ir_count = eval;
+ irept->ir_count = (uint32_t)eval;
}
return 0;
for(int i=0; i<3; i++)
*p++ = *tok++;
}
- else if (*tok == CONST)
+ else if (*tok == CONST) // Constants are 64-bits
{
- *p++ = *tok++;
- *p++ = *tok++;
+ *p++ = *tok++; // Token
+ uint64_t *p64 = (uint64_t *)p;
+ uint64_t *tok64 = (uint64_t *)tok;
+ *p64++ = *tok64++;
+ tok = (TOKEN *)tok64;
+ p = (uint32_t *)p64;
}
else if ((*tok == STRING) || (*tok == SYMBOL))
{