ゲーム 0x10cの 16 ビット DCPU 用のアセンブリンカーを実装しています。
誰かが私に提案したテクニックの 1 つは、実行時にコードを交換するために「当時の Turbo Pascal のようなオーバーレイ」を使用することでした。
基本的な考え方 (オーバーレイされたシンボルを同じメモリにリンクし、ref の前にスワップ) はわかりましたが、それらの実装は何でしたか?
コンパイラが参照の前に挿入したのは関数でしたか? 罠だった?オーバーレイのデータはオーバーレイの場所に保存されていましたか、それとも大きなテーブルのどこかに保存されていましたか? うまく機能しましたか、それとも頻繁に壊れましたか? オーバーレイされた Pascal とリンクするためのアセンブリ用のインターフェイスはありましたか (またはその逆)、または互換性がありませんでしたか?
Google は基本的に何の情報も提供していません (最新の Pascal コンパイラを無視していること以外は)。そして、私は 5 歳の若さで、彼らが現役だったときにそれらを必要とすることはありませんでした。