Tatara

付録E
制限値

この付録では、TATARAとTANRENの決まった制限値を、それぞれの上限、それを超えたときのメッセージ、説明している節とともに示します。E.4節では、決まった制限のないものを示します。

E.1 TATARA

対象

上限

メッセージ

節

ソースの1行

255文字

source line too long.

6.6

シンボルの名前

255文字。すべて区別される

7.2

マクロの名前

64文字

a macro name may be at most 64 characters.

7.2

セグメントやグループの名前

16文字

a segment or group name may be at most 16 characters.

7.2

コマンド・ラインのファイル名

3つ

too many filenames.

5.6

同時に開いているファイル

4つ

too many source files open at once.

13.5

インクルード・ファイル、マクロの展開、繰り返しブロックの入れ子

16段

sources nested too deeply.

16.7

1回のアセンブルで開くファイル(ソースを含む)

32回

too many different source files.

D.2

メッセージの先頭のファイル名

最初の31文字を表示

20.1

同時に開いている条件付きアセンブル

16

conditionals nested too deeply.

15.6

マクロのパラメーター

16

too many macro parameters.

16.9

展開したあとのマクロや繰り返しブロックの1行

255文字

macro line too long.

16.2

外部の名前

254

too many segments, groups or externals.

12.5

タイトルとサブタイトル

最初の28文字を残す

18.2

ページの長さ

10から255行

a PAGE length must be 10 to 255.

18.2

環境変数TATARA

127文字

the TATARA variable is too long.

13.3

長すぎるマクロ、セグメント、グループの名前は、切り詰められるのではなく、拒否されます。同じファイルを2回開くと、1回のアセンブルの32回のうちに2回と数えます。メッセージの先頭のファイル名は最初の31文字に切り詰められるので、長いパスではファイルそのものの名前が見えなくなることがあります。included fromの行とcannot openのメッセージは、名前をすべて表示します。

TATARAはTANRENより多くの名前付きセグメントとグループを受け付けるので、実際にはE.2節の制限が適用されます。

E.2 TANREN

対象

上限

メッセージ

節

1つのモジュールのセグメント

16。デフォルトのコード・セグメントとデータ・セグメントを含む

too many segments or groups in one module.

27.4

1つのモジュールのグループ

16

too many segments or groups in one module.

27.4

1つのモジュールの外部の名前

512

too many external symbols in one module.

D.3

リンクの語(コマンド・ラインとリンク・ファイルの合計)

4096文字

too many words on the command line or in the file list.

22.4

1つの語

128文字

同上

22.4

リンク・ファイル

1つ。ほかのリンク・ファイルは指定できない

only one file list may be given.、a file list may not name another one.

22.4

環境変数TANREN

127文字

the TANREN variable is too long.

23.5

プログラム

FFFFh以下で終わる

the linked image would run past FFFFh.

24.6

そのため、1つのモジュールには、デフォルトのコード・セグメントとデータ・セグメントのほかに、名前付きセグメントを14まで置けます。制限はプログラム全体ではなくモジュールごとのものなので、それより多く必要なプログラムは、いくつかのモジュールに分ければすみます。TATARAは外部の名前254で止まるので、TATARAが作ったオブジェクト・ファイルが512の制限に達することはありません。

E.3 コマンド・ライン

MSX-DOSがプログラムに渡すコマンド・ラインは127文字までで、残りはメッセージなしで捨てられます。これはツールではなくMSX-DOSの制限で、どちらのツールにもあてはまります。TANRENは、コマンド・ラインがちょうど 127文字のときには一部が欠けているかもしれないので警告します。リンク・ファイルにはこの制限はありません(21.5節)。

E.4 決まった制限のないもの

シンボルの数、マクロの数と大きさ、プログラムの大きさは、メモリ・マッパーによってだけ制限されます。TATARAはそこに表を置き、TANRENはそこでプログラムを組み立てます。マッパーがいっぱいになると、ツールはout of mapper memory.で止まります。ツールのメモリの使い方は付録Gで説明します。