CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

プログラムリロケート

プログラムの再配置のためにメモリの使い方を記述した設定ファイルを準備します
 
完全にROM化するシステムならばコード領域をROM、データ領域をRAMに割り振ればOKですが
モニタでロード・実行する領域は全てRAMなので、仮に0x02000から0x1ffff番地をコード用
0x20000~0x7ffffをデータ用と切り分けておきます
 
イメージ 1
 
次にロケータを起動させます。
入力ファイルのEXEフォーマットを設定ファイルにしたがってセグメントごとに再配置、
インテルHEX形式で出力させ、最後にバイナリ形式に変換という流れになります
 
 
イメージ 2