Введение

Сборщик компьютеров

Сборщики IBM Autocoder

Autocoder – это любое из семейства сборщиков для ряда компьютеров IBM 1950-х и 1960-х годов. Первые Autocoder, по всей видимости, были самыми ранними сборщиками, предоставлявшими возможности макросов.

Терминология

И автокодер, и не связанный с ним автокод, термин той же эпохи, использовавшийся в Великобритании для обозначения языков программирования более высокого уровня, происходят от словосочетания «автоматическое кодирование». Так обычно называли программы, упрощавшие создание числовых кодов машинного языка. Термин «автокодирование» встречается изредка и может относиться к любой системе программирования. В некоторых кругах «автокодер» могли использовать как общее название для того, что сейчас называется макроассемблером.

Автокодер, реализованный на IBM 1401

Система символического программирования (SPS) была ассемблером, предлагавшимся компанией IBM при первоначальном анонсе 1401 как компьютера, работающего только с перфокартами. SPS использовала отличные от Autocoder мнемоники и фиксированный формат ввода. Она не обладала возможностями Autocoder и впоследствии применялась главным образом на машинах, не оснащенных лентовыми накопителями, то есть работающих только с перфокартами. Autocoder для 1401 – наиболее известный Autocoder, что, несомненно, связано с общим успехом этой серии машин. Autocoder был основным языком программирования для этого компьютера, а его макровозможности упрощали использование Системы управления вводом/выводом, снижая нагрузку на программиста. Autocoder также мог обрабатывать код, написанный для SPS. 1401 выпускался в шести конфигурациях памяти: 1400, 2000, 4000, 8000, 12000 или 16000 шестибитных символов. Модель с 8000 символов была минимальной, необходимой для запуска полноценного ассемблера Autocoder, включая IOCS. Однако для использования с 1400 ячейками памяти был доступен ассемблер, представляющий собой подмножество языка. На модели с 8000 символов можно было создать загружаемый объектный файл на перфокартах или магнитной ленте, который затем можно было запустить на машине с 4000 символов. Подмножество языка с ограниченными возможностями обрабатывало только перфокарты и требовало 4 прохода с промежуточными результатами на перфокартах.

Влияние

Популярность Autocoder вдохновила других разработчиков ассемблеров. ‘’Easycoder’’ для Honeywell 200, компьютера, похожего на 1401, был схож с Autocoder. Другие производители иногда создавали конкурирующие продукты, такие как "Техника электронного автокодирования National" (NEAT) от NCR. В 1960-х годах в Университете штата Пенсильвания был разработан компилятор "Dual Autocoder Fortran Translator" (DAFT) для IBM 7074, который значительно упрощал написание (внутри одной программы) строк инструкций автокодера, свободно перемежаемых со строками кода Fortran. Это позволяло использовать символическое машинное кодирование на уровне программы Fortran более высокого уровня, что было особенно полезно для оптимизации скорости внутренних циклов или для использования необычной десятичной архитектуры слов IBM 7074. Bell Laboratories разработала программу под названием "Peripheral Equipment Symbolic Translator" (PEST), представлявшую собой кросс-ассемблер для 1401, работавший на 709/709x и поддерживавший подмножество Autocoder 1401. В 1985 году Гари Мокотофф, автор SPS и соавтор Autocoder, передал копию исходных программ для SPS 1, SPS 2 и Autocoder в Институт Чарльза Бэббиджа при Университете Миннесоты.