Friday 4 January 2019

TL/1

TL/1 は元々は6800用に書かれた Pascal like な incore compilerで、データ型は8bit intと、その配列のみ。いさぎよい。
高速な1 pass コンパイルが売りだったようです。 Micro C も1 pass だった。

考古学的なプロジェクトなわけですが、

  単に動かすだけじゃなくて、OS9 上で動かす

というわけですが、今回は

  ソースコードがドットプリンタで出力されたリスティングのみ

でデジカメで撮って、フリーなOCR Web サービスに放り込む〜 で、8と0が入れ替わったりするわけですが、

  手書きのコメントが邪魔

一生懸命読もうとしていたんだな。6809アセンブラ版で1615行。超コンパクト。Micro C が3696行か。

で、リストに直して、OS9 に対応する部分を付け加えて、assemble を通す所までできましたが、当然、動かないようです。

生成されるコードは当然絶対アドレスなので相対アドレスなOS9との相性は良くないのですが、

  実行されてしまえばアドレスは固定
  moduleとして実行して、ソースコードを読み込んで、その場で絶対アドレスなコードを生成
  ライブラリは実行時のアドレスを計算して生成する

という方式でいけるはずです。

これは、打ち込みミスとの戦いになりそう...

No comments: