システム固有のこと本コンパイラシステムの固有の諸点について、システムの改造等を試みる場合の参考事項を説明したいとおもいます. (1)アセンブラシステムの分離
アセンブラシステムは、0x2000 番地から 0x3fff 番地に格納されて実行するものですが、C-system 動作時は、0x6800 〜 0x87ff の領域に存在しています.C-system より "*g1000" と打ち込んで X1 モニタに飛び、後はモニタのコマンドにより、アセンブラシステムを 0x2000 番地以降に転送し、0x012a 〜 0x012c の jump 命令をC3、00、20 に変更したうえで、モニタと合わせて一括テープにセーブすれば、IPL 起動のアセンブラシステムを作ることができます. (2)C プログラムのオブジェクトを単独で動かす
説明書の最後に、システムで組み込んでいるランタイムのアセンブラリストを付けていますので、これ、又は、これ相当のものを別アドレスにアセンブルして equ の定義を変更するか、定義を削除した上でオブジェクトとランタイムをまとめてアセンブルすれば、X1 モニタのもとで、単独で実行させることが可能となります.ただし、main 関数への引数渡しは、できませんので、プログラムの中で必要な人力処理をコーディングしておいてください.さらに、実行開始前の sp の設定についても考慮しておくことを忘れないでください. (3)システムの他機種への移植の可能性について
とはいえ、これは X1 のもつカセットシステムの高信頼性と、メモリオール RAM の特質あってのことですから、他機種へのテープシステムによる移植は困難といえるでしょう. ディスクシステムともなれば、それなりの DOS が完備されていれば、各プログラム毎に若干の DOS インタフェースをコーディングすればよく、可能性はあることでしょう.(私自身、いずれはディスク版を作成したいと思っています.) |