There are some limitations to the compiler :
You can perform only one calculation in a formula.
Good False
a = a * b1 a = a * b1 + c
Maximum allowed labels |
5000 |
Maximum allowed variable names |
1000 |
Maximum number of INTEGER/WORD variables |
10* |
Maximum number of BYTE variables |
20* |
Maximum number of BIT variables |
120* |
Maximum number of STRING variables |
Up to available external memory |
Maximum number of ALIAS statements |
128 |
*Depending on the used statements and the used variables of the other types.
A maximum of 32 bytes is used internally. This depends on the used statements.
The stack uses some space too. So it depends on the used statements how much variables you can use. In the worst case (32+16+8) = 56 bytes are used.
You can find out by viewing the report file how much bytes are used by your program.
When you have a micro such as the 89S8252 with 256 bytes of internal memory, you can have more variables.
8 used bit vars will use 1 byte;
1 used byte will use 1 byte;
1 used integer/word will use 2 bytes;
1 used long will use 4 bytes;
1 used single will use 4 bytes;
1 string with a length of 10 bytes will use 11 bytes.
Maximum nesting :
FOR .. NEXT |
50 |
IF .. THEN |
50 |
DO .. LOOP |
50 |
WHILE .. WEND |
50 |
SELECT .. CASE |
25 |