2019年7月31日水曜日

CP/M-8000は移植できるのか リンカ 1

CP/M-8000のリンカ ld8kのソースコードがP-CP/M-Z8k SOURCESの中に見つかったので、Programmer's Guideと共に読み進めています。

最初、ソースコードを修正してLinuxで動くようにしようとしたのですが、文法が古典過ぎて最近のコンパイラは通りません。また、バイトオーダの違いもあって、素直には動かせそうにないので、ソースコードを参考に書き直すことにしました。

ソースコードだけからでは意味がわからなかった部分も、Programmer's Guideにコマンドファイルフォーマットとリンカの使用方法の説明があったおかげで、再配置データやシンボルテーブルが読み出せるようになりました。

下はcpmsys.relのシンボルテーブルを読み出した例。


このファイル中のシンボルは、225個あることがわかります。どうやら、セグメント番号0xffでタイプ2のシンボルが外部定義シンボルのようです。

リンクの仕方は、ソースコード読み進めてこれから理解していきます。

0 件のコメント:

コメントを投稿