昔話 まだ仮想記憶でなかったメインフレームの頃

初心者〜低レベルプログラマーの書くCOBOLプログラムが原因不明のアドレスエラーで
落ちるケースが続出した。
ソースを読むと、一見落ちる理由がない。
あるとすればテーブルの添え字がゾーン形式であることくらい。
ま、やってみよう、とその添え字をパック形式やバイナリー形式に直すと、OK。
初めのうち首をひねった。落ちないプログラムもあるのだ。

落ちたプログラムのオブジェクトリストを出して追跡してみて、ようやくわかった。
FILE-CONTROLの4番目以降に記述したファイルのフィールドに対してゾーン形式の
添え字を使うとレジスターのやりくりがつかなくなって落ちるということ。

すぐにメーカーに現象を連絡し、各プログラマーにはゾーン形式の添え字を使うなと厳命。

仮想記憶コンピューターが入った頃転勤したので、その後どうなったかは知らない。