Autocoder — это группа ассемблеров для ряда компьютеров IBM 1950-х и 1960-х годов. Первые Autocoders, по-видимому, были самыми ранними ассемблерами, предоставляющими возможность макросов . [1]
Терминология
И автокодер , и неродственный автокод , термин той же эпохи, используемый в Великобритании для языков более высокого уровня, происходят от фразы автоматическое кодирование . Это относилось в основном к программам, которые облегчали бремя создания числовых кодов машинного языка программ. [2] «Автокодирование» встречается время от времени и может относиться к любому виду системы программирования. В некоторых кругах «автокодер» может использоваться в общем смысле для обозначения того, что сейчас называется макроассемблером. [3]
История
Первые автокодеры были выпущены в 1955 году для IBM 702 [4] и в 1956 году для почти совместимого IBM 705 [5 ].
Они были разработаны Роем Голдфингером, который ранее работал над ассемблером NYAP Нью-Йоркского университета (NYU). [6] [7] Эти машины были коммерческими машинами с переменной длиной слова , как и многие компьютеры, для которых был выпущен автокодер.
Система символического программирования [14] (SPS) была ассемблером, предложенным, когда IBM первоначально анонсировала 1401 как компьютер, работающий только с перфокартами. SPS имела другую мнемонику и другой фиксированный формат ввода, чем Autocoder. В ней отсутствовали функции Autocoder, и она в основном использовалась позже только на машинах, не имевших ленточных накопителей, то есть, работающих только с перфокартами. [15] [16]
1401 Autocoder [17] [18] — самый известный Autocoder, несомненно, отчасти благодаря общему успеху этой серии машин. Autocoder был основным языком этого компьютера, а его макровозможности облегчали использование Системы управления вводом/выводом , что облегчало программирование. [19] [20] [21] Autocoder также мог обрабатывать код, написанный для SPS.
1401 был доступен в шести конфигурациях памяти с 1400, 2000, 4000, 8000, 12000 или 16000 шестибитных символов. Модель на 8000 символов была минимально необходимой для запуска полного приложения ассемблера Autocoder, включая IOCS. Однако ассемблер подмножества языка был доступен для использования всего с 1400 позициями памяти. Загружаемый объектный файл на перфокартах или магнитной ленте мог быть создан на модели на 8000 символов, которая затем могла быть запущена на машине на 4000 символов. Ограниченное подмножество языка обрабатывало только перфокарты и требовало 4 проходов с промежуточными выходами перфокарт.
Влияние
Популярность Autocoder вдохновила других ассемблеров. ''Easycoder'' для Honeywell 200 , компьютера, похожего на 1401, напоминал Autocoder. Другие производители иногда создавали конкурирующие продукты, такие как NCR 's "National's Electronic Autocoder Technique" (NEAT). [22]
В 1960-х годах Университет штата Пенсильвания разработал компилятор "Dual Autocoder Fortran Translator" (DAFT) для IBM 7074, что сделало чрезвычайно простым написание (в рамках одной программы) строк инструкций автокодера, свободно перемежаемых строками кода Fortran. Это позволило кодировать на уровне символических машинных инструкций внутри программы Fortran более высокого уровня, что было особенно полезно для оптимизации скорости внутренних циклов или для использования необычной архитектуры десятичных слов IBM 7074. [ необходима цитата ]
Bell Laboratories разработала программу под названием «Peripheral Equipment Symbolic Translator» (PEST), которая представляла собой кросс-ассемблёр 1401, работавший на 709 / 709x и принимавший подмножество автокодера 1401. [16] [23]
^ Каталог записей об авторских правах. Третья серия: 1956. Бюро авторских прав, Библиотека Конгресса. 1957. стр. 305. Получено 23 августа 2019 г.
^ Система автокодирования 705 - руководство по информации (PDF) , IBM Systems Reference Library (второе издание), IBM Corporation, февраль 1957 г., 22-6726-1
↑ Голдфингер 1956.
↑ Энциклопедия компьютерных языков. Архивировано 16 сентября 2007 г. на Wayback Machine.
^ IBM 1410 Autocoder (PDF) , IBM Systems Reference Library (второе издание), IBM Corporation, февраль 1964 г., C28-0309-1
^ Операционная система IBM 1410/700 (1410-PR-155) - Autocoder - 1410-AU-968 (PDF) , IBM Systems Reference Library (третье изд.), IBM Corporation, ноябрь 1964 г., C28-0336-2
^ Справочное руководство - Четырехленточный автокодер IBM 7070/7074 (PDF) , IBM Systems Reference Library (второе издание), IBM Corporation, апрель 1961 г., C28-6102-1
^ Справочное руководство - IBM 7070 Series Programming Systems - Autocoder (PDF) , IBM Systems Reference Library (первое издание), IBM Corporation, 1961, C28-6121-0
^ Справочное руководство - IBM 7080 Programming Systems - 7080 Processor: Autocoder Language (PDF) , IBM Systems Reference Library (первое издание), IBM Corporation, 1962, C28-6263
^ 7010: Weik 1964, стр. 0160; 7030: «IBM Stretch (также известная как IBM 7030 Data Processing System)», «Компиляторы и компьютеры: партнеры по производительности» (PDF); 7070: Том Ван Флек, «IBM 7070», Третий обзор отечественных электронных цифровых вычислительных систем, Мартин Х. Вайк, «IBM 7070», Баллистические исследовательские лаборатории, Абердинский испытательный полигон, Мэриленд; 7080: [1]; серия 1400: [2], 1410 Автокодер (PDF).
^ IBM 1401 СИСТЕМА СИМВОЛИЧЕСКОГО ПРОГРАММИРОВАНИЯ: ПРЕДВАРИТЕЛЬНЫЕ СПЕЦИФИКАЦИИ (PDF) , IBM, 1960, J28-200-1
^ Телен, Эд. "IBM-1401" . Получено 2020-03-05 .
^ ab Ван Флек, Том. "1401-е годы, которые я знал". multicians.org . Получено 05.03.2020 .
^ Спецификации языка автокодера (на ленте) и рабочие процедуры IBM 1401 и 1460 Программа 1401-AU-037 (PDF) , IBM Systems Reference Library (первое издание), IBM Corporation, ноябрь 1964 г., C24-3319-0
^ Спецификации языка Autocoder (на диске) IBM 1401, 1440 и 1460 (PDF) , IBM Systems Reference Library (третье изд.), IBM Corporation, апрель 1966 г., C24-3258-2
^ Корпорация IBM. Руководство для руководителей по системе обработки данных IBM 1440 (PDF) . Получено 2020-03-08 .
^ Соломон 1993, стр. 8
^ "Энциклопедия компьютерных языков". Архивировано из оригинала 2007-09-17 . Получено 2007-03-18 ..
↑ Вайк 1964, стр. 0202.
^ IBM Corporation (1962). Каталог программ для систем обработки данных IBM KWIC Index (PDF) . стр. 248 . Получено 2020-03-05 .
^ Коллекция Гэри Мокотоффа листингов программ IBM 1401, 1959-1961 гг.
Ссылки
Аллен, Ф. Э., «История технологии языковых процессоров в IBM», IBM Journal of Research and Development, 25 (5), стр. 535–548 (сентябрь 1981 г.). [3]
Голдфингер, Рой, «Автокодер IBM Type 705». Труды East Joint Computer Conf., Сан-Франциско, 1956.
Хоппер, Грейс, «Автоматическое кодирование для цифровых компьютеров» на конференции по высокоскоростным компьютерам, Университет штата Луизиана (1955 г.) Конференция по высокоскоростным компьютерам, Университет штата Луизиана, 16 февраля 1955 г., Remington Rand, Inc., 1955 г. [4]
Salomon, David (февраль 1993 г.). Chivers, Ian D. (ред.). Assemblers and Loaders (PDF) . Ellis Horwood Series In Computers And Their Applications (1-е изд.). Чичестер, Западный Суссекс, Великобритания: Ellis Horwood Limited / Simon & Schuster International Group . ISBN 0-13-052564-2. Архивировано (PDF) из оригинала 2020-03-23 . Получено 2008-10-01 .[5][6] (xiv+294+4 страницы)
Вайк, Мартин Х., Четвертый обзор отечественных электронных цифровых вычислительных систем, отчет BRL № 1227, январь 1964 г. (Лаборатории баллистических исследований, Абердинский испытательный полигон, Мэриленд). [7]
Внешние ссылки
Технические характеристики автокодера IBM 1401 J24-1434-2
Руководство по автокодеру IBM 1410 1964 года от Bitsavers