Please help... this problem has halted development. Problem: Upon _trying_ to compile some code using Tech-Tools CVASM16, I get the error: ERROR IN 160: symbol table full The reason is because I'm using a lot of equates to make my life a lot easier and to make good use of memory...IMHO, it's not bad programming practice to use equates. I am using some bit-banging to form the final equates. Because CVASM resolves all equates strictly from left to right, I end up writing equates similar to: LITERAL_TEMP1 equ PART_1 << SHIFT_1 LITERAL_TEMP2 equ PART_2 << SHIFT_2 LITERAL equ LITERAL_TEMP1 | LITERAL_TEMP2 Instead of just writing (like when using MPASM): LITERAL equ ( PART_1 << SHIFT_1 ) | (PART_2 << SHIFT_2 ) This obviously uses a lot more symbols than necessary. Does anyone know how the latter line can be written in strict left-to-write operations without using parenthesis (CVASM doesn't allow those either)? Another option would be to write my OWN program to go through the code and compile a final list of equates, but that's not a fun undertaking and I _shouldn't_ have to do it. I can think of no real reason for a commercial assembler (it is a legit copy too) to have such a limitation... breaking down a symbol table in precompile stage is not that difficult. A better question is how difficult is it to resolve non left-to-right expressions? Any suggestions will be greatly appreciated. Thanks Again, Vincent Deno