リンカーに組み込まれているコンフィグ・ファイルには、コンパイラ及びそれに付随するライブラリ用の特別な意味を持つセグメントが含まれています。
コンフィグ・ファイルを書き換える場合、以下の情報が必要となります。
INITセグメントは、main()関数実行後に再利用する事ができる初期化コードのために利用されます(プログラムがRAMで実行されることを条件とする)。
例えば、実際にメモリの制約があるシステムにおいて、ヒープにINITセグメントを追加できます。
LOWCODEセグメントは、バンクアウトされない事が保証されるセグメントです。
つまり、割り込みルーチンなど、いつでも利用可能なセグメントとなります。
STARTUPセグメントは、Cソフトウェアのスタック及びライブラリを初期化するスタートアップコードを含みます。
いくつかのプラットフォームにおいて最下位プログラムアドレスにロードされる必要があるため、独立したセグメントに配置されます。
The ZPSAVE segment contains the original values of the zeropage locations used by the ZEROPAGE segment. It is placed in its own segment because it must not be initialized.