Appendix E
Limits
This appendix lists the fixed limits of TATARA and TANREN: how far each one goes, the message that going past it gives, and the section that describes it. Section E.4 says what has no fixed limit.
E.1 TATARA
|
What |
Limit |
Message |
Section |
|
|
|||
|
A source line |
255 characters |
source line too long. |
6.6 |
|
A symbol name |
255 characters, all significant |
|
7.2 |
|
A macro name |
64 characters |
a macro name may be at most 64 characters. |
7.2 |
|
A segment or group name |
16 characters |
a segment or group name may be at most 16 characters. |
7.2 |
|
Filenames on the command line |
3 |
too many filenames. |
5.6 |
|
Files open at once |
4 |
too many source files open at once. |
13.5 |
|
Include files, macro expansions and repeat blocks inside each other |
16 |
sources nested too deeply. |
16.7 |
|
Files opened in one assembly, the source included |
32 |
too many different source files. |
D.2 |
|
The name of a file at the start of a message |
its first 31 characters are shown |
|
20.1 |
|
Conditionals open at once |
16 |
conditionals nested too deeply. |
15.6 |
|
Macro parameters |
16 |
too many macro parameters. |
16.9 |
|
A line of a macro or repeat block, once expanded |
255 characters |
macro line too long. |
16.2 |
|
External names |
254 |
too many segments, groups or externals. |
12.5 |
|
A title or subtitle |
its first 28 characters are kept |
|
18.2 |
|
The length of a page |
10 to 255 lines |
a PAGE length must be 10 to 255. |
18.2 |
|
127 characters |
the TATARA variable is too long. |
13.3 | |
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
A macro, segment or group name that is too long is refused, not cut short. A file opened twice counts twice towards the 32 files of one assembly. The name of a file at the start of a message is cut to its first 31 characters, so a long path can hide the name of the file itself; the included from lines and the cannot open message show names in full.
TATARA accepts more named segments and groups than TANREN does, so in practice the limits of section E.2 apply.
E.2 TANREN
|
What |
Limit |
Message |
Section |
|
|
|||
|
Segments in one module |
16, the default code and data segments included |
too many segments or groups in one module. |
27.4 |
|
Groups in one module |
16 |
too many segments or groups in one module. |
27.4 |
|
External names in one module |
512 |
too many external symbols in one module. |
D.3 |
|
The words of a link, command line and link file together |
4096 characters |
too many words on the command line or in the file list. |
22.4 |
|
One word |
128 characters |
the same |
22.4 |
|
Link files |
1, which may not name another |
only one file list may be given., a file list may not name another one. |
22.4 |
|
127 characters |
the TANREN variable is too long. |
23.5 | |
|
The program |
ends at FFFFh or below |
the linked image would run past FFFFh. |
24.6 |
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
A module can therefore have up to fourteen named segments, besides the default code and data segments. The limits are for each module, not for the program: a program that needs more can spread them over several modules. TATARA stops at 254 external names, so the limit of 512 is never reached by an object file that TATARA made.
E.3 The command line
MSX-DOS gives a program a command line of 127 characters, and drops the rest without a message. This is a limit of MSX-DOS, not of the tools, and it applies to both. TANREN warns when its command line is exactly 127 characters long, because part of it may be missing; a link file has no such limit (section 21.5).
E.4 What has no fixed limit
The number of symbols, the number and size of macros, and the size of the program are limited only by the memory mapper, where TATARA keeps its tables and TANREN builds the program. When the mapper is full, the tool stops with out of mapper memory. Appendix G describes how the tools use memory.