ПЛ/М
Разработчик | Гэри Килдалл [ 1 ] в компании Microcomputer Applications Associates |
---|---|
Впервые появился | 1973 [ 2 ] [ 3 ] |
Под влиянием | |
АЛГОЛ , PL/I , XPL |
Язык программирования PL /M (аббревиатура от для Язык программирования « микрокомпьютеров » ) . [ 2 ] [ 3 ] ) высокого уровня, — это язык задуманный и разработанный Гэри Килдалл [ 2 ] [ 3 ] [ 4 ] [ 1 ] в 1973 году [ 2 ] [ 3 ] для Хэнка Смита [ 2 ] [ 3 ] в Intel для своих микропроцессоров .
Обзор
[ редактировать ]Язык вобрал в себя идеи PL/I , ALGOL. [ нужна ссылка ] и XPL , [ 2 ] [ 3 ] и имел встроенный макропроцессор . Будучи выпускником Вашингтонского университета, Килдалл пользовался компьютером Burroughs B5500 . [ 5 ] и поэтому знал о потенциале языков высокого уровня, таких как ESPOL , для системного программирования.
В отличие от других современных языков, таких как Pascal , C или BASIC , в PL/M не было стандартных процедур ввода или вывода. Он включал в себя функции, ориентированные на аппаратное обеспечение низкого уровня, специфичное для целевых микропроцессоров, и поэтому мог очень эффективно поддерживать прямой доступ к любому месту в памяти, портам ввода-вывода и флагам прерывания процессора. PL/M был первым языком программирования более высокого уровня для компьютеров на базе микропроцессоров и исходным языком реализации тех частей операционной системы CP/M , которые не были написаны на ассемблере. Intel и Zilog Z80 на базе Многие встроенные системы были запрограммированы на PL/M в 1970-х и 1980-х годах. Например, прошивка компонента служебного процессора CISC IBM AS/400 была написана на PL/M.
Оригинальный компилятор PL/M был ориентирован на Intel 8008 . [ 6 ] Обновленная версия (PL/M-80) генерировала код для процессора 8080 , который также будет работать на более новом процессоре Intel 8085 , а также на семействе Zilog Z80 (поскольку он обратно совместим с 8080). Позже последовали компиляторы для семейства микроконтроллеров Intel 8048 и Intel 8051 (PL/M-51), а также для процессоров 8086 (8088) (PL/M-86), 80186 (80188) и последующих процессоров на базе 8086, включая расширенный 80286 и 32-битный 80386 . Были также компиляторы PL/M, разработанные для более поздних микроконтроллеров, таких как семейство архитектур Intel 8061 и 8096/ MCS-96 (PL/M-96). [ 7 ]
Хотя некоторые компиляторы PL/M были «родными», то есть они работали в системах, использующих тот же микропроцессор, например, для операционной системы Intel ISIS , существовали также кросс-компиляторы , например PLMX , которые работали в других операционных средах, таких как Digital Research. CP/M, Microsoft от DOS и Digital Equipment Corporation от VAX/VMS .
PL/M больше не поддерживается Intel, но существуют дополнительные инструменты, такие как трансляторы исходного кода PL/M-to-C . [ нужна ссылка ]
Пример кода PL/M
[ редактировать ]FIND: PROCEDURE(PA,PB) BYTE;
DECLARE (PA,PB) BYTE;
/* FIND THE STRING IN SCRATCH STARTING AT PA AND ENDING AT PB */
DECLARE J ADDRESS,
(K, MATCH) BYTE;
J = BACK ;
MATCH = FALSE;
DO WHILE NOT MATCH AND (MAXM > J);
LAST,J = J + 1; /* START SCAN AT J */
K = PA ; /* ATTEMPT STRING MATCH AT K */
DO WHILE SCRATCH(K) = MEMORY(LAST) AND
NOT (MATCH := K = PB);
/* MATCHED ONE MORE CHARACTER */
K = K + 1; LAST = LAST + 1;
END;
END;
IF MATCH THEN /* MOVE STORAGE */
DO; LAST = LAST - 1; CALL MOVER;
END;
RETURN MATCH;
END FIND;
Ссылки
[ редактировать ]- ^ Jump up to: а б Суэйн, Майкл (22 июня 2001 г.). «Гэри Килдалл и коллегиальное предпринимательство» . Журнал доктора Добба . Архивировано из оригинала 26 июля 2019 г. Проверено 20 ноября 2006 г.
- ^ Jump up to: а б с д и ж Шустек, Лен (2 августа 2016 г.). «Своими словами: Гэри Килдалл» . Замечательные люди . Музей истории компьютеров . Архивировано из оригинала 03.10.2019 . Проверено 2 февраля 2020 г.
- ^ Jump up to: а б с д и ж Килдалл, Гэри Арлен (2 августа 2016 г.) [1993]. Килдалл, Скотт ; Килдалл, Кристин (ред.). Компьютерные соединения: люди, места и события в эволюции индустрии персональных компьютеров (Рукопись, часть 1). Семья Килдалл . Проверено 17 ноября 2016 г.
- ^ Джонсон, Херб (21 июля 2019 г.). «ISIS, Intellec, PL/M, iRMX и Intel — 20 век» . Ретротехнологии . Архивировано из оригинала 2 октября 2019 г. Проверено 29 января 2020 г.
- ^ Килдалл, Гэри Арлен (сентябрь 1970 г.). «APL\B5500 — Язык и его реализация» (PDF) . Университет Вашингтона , группа компьютерных наук. Технический отчет 70-09-04. Архивировано (PDF) из оригинала 20 декабря 2019 г. Проверено 29 января 2020 г.
- ^ Килдалл, Гэри Арлен (27 июня 1974 г.). «Язык высокого уровня упрощает программирование микрокомпьютеров» (PDF) . Электроника . Макгроу-Хилл Образование . стр. 103–109. Архивировано (PDF) из оригинала 14 ноября 2021 г. Проверено 14 ноября 2021 г.
- ^ «Переводчики и утилиты для разработки программ». Справочник по программному обеспечению (PDF) . Корпорация Интел . 1984 [1983]. п. 3-1. 230786-001. Архивировано (PDF) из оригинала 29 января 2020 г. Проверено 29 января 2020 г.
[…] ЯЗЫК ДЛЯ ЛЮБЫХ ПОТРЕБНОСТЕЙ […] PL/M — самый популярный язык 8086 для системного программирования, обеспечивающий лучшее из оптимального кода и возможностей языка высокого уровня. […] PL/M-51 был первым языком высокого уровня, когда-либо представленным для микроконтроллера. 8096 . аналогично поддерживается PL/M-96 […]
Дальнейшее чтение
[ редактировать ]- Руководство по программированию PL/M-80 (PDF) . Корпорация Интел . Январь 1980 г. [1976]. Документ № 98-268Б. Архивировано (PDF) из оригинала 21 декабря 2019 г. Проверено 29 января 2020 г.
- Руководство MCS-8 по программированию PL/M (PDF) . Корпорация Интел . Сентябрь 1973 г. Архивировано (PDF) из оригинала 21 декабря 2019 г. Проверено 2 февраля 2020 г.
- Руководство программиста PL/M 386 (PDF) . Корпорация РадиСис . Декабрь 1999 г. Архивировано (PDF) из оригинала 14 августа 2006 г. Проверено 29 января 2020 г. (Примечание. Включает весь синтаксис PL/M в нотации BNF .)
- Маккракен, Дэниел Д. (1978). Руководство по программированию PL/M для микрокомпьютерных приложений . Пирсон / Аддисон-Уэсли .
- Бергетт, Кен (10 ноября 2017 г.). «Разработка операционной системы Intel ISIS — интервью с Кеном Бергеттом» . Архивировано из оригинала 24 ноября 2023 г. Проверено 25 ноября 2023 г. [1] [2]