PL / M - PL/M

PL / M
Разработчик Гэри Килдалл из Microcomputer Applications Associates
Впервые появился 1973 ( 1973 )
Под влиянием
АЛГОЛ , PL / I , XPL

Язык программирования PL / М (аббревиатура Р rogramming L anguage для M icrocomputers ) является высоким уровнем языка задуман и разработан Килдаллом в 1973 году для Хэнка Смита в Intel для своих микропроцессоров .

Обзор

Язык включает идеи PL / I , ALGOL и XPL и имеет встроенный макропроцессор . Будучи выпускником Вашингтонского университета, Килдалл использовал свой компьютер Burroughs B5500 и поэтому знал о потенциале языков высокого уровня, таких как 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 . Обновленная версия (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).

Хотя некоторые компиляторы PL / M были «родными», то есть они работали в системах, использующих тот же микропроцессор, например, для операционной системы Intel ISIS , были также кросс-компиляторы , например PLMX , которые работали в других операционных средах, таких как Digital Research. CP / M, Microsoft 's DOS , и Digital Equipment Corporation ' s 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;

использованная литература

дальнейшее чтение

Эта статья основана на материалах, взятых из Free On-line Dictionary of Computing до 1 ноября 2008 г. и включенных в соответствии с условиями «перелицензирования» GFDL версии 1.3 или новее.