PL/M - PL/M

PL/M
Vývojář Gary Kildall ve společnosti Microcomputer Applications Associates
Poprvé se objevil 1973 ( 1973 )
Ovlivněn
ALGOL , PL/I , XPL

Programovací jazyk PL / M (akronym P rogramming L anguage pro M icrocomputers ) je na vysoké úrovni jazyka koncipovaný a vyvinutý Gary Kildall v roce 1973 pro Hank Smith na Intel pro své mikroprocesory .

Přehled

Jazyk obsahoval nápady z PL/I , ALGOL a XPL a měl integrovaný makro procesor . Jako absolvent Washingtonské univerzity použil Kildall svůj počítač Burroughs B5500 a jako takový si byl vědom potenciálu jazyků na vysoké úrovni, jako je ESPOL, pro programování systémů.

Na rozdíl od jiných současných jazyků, jako je Pascal , C nebo BASIC , PL/M neměl standardní vstupní nebo výstupní rutiny. Zahrnoval funkce cílené na hardware nízké úrovně specifické pro cílové mikroprocesory a jako takový by mohl velmi efektivním způsobem podporovat přímý přístup do libovolného umístění v paměti, I/O porty a příznaky přerušení procesoru. PL/M byl první programovací jazyk vyšší úrovně pro mikroprocesorové počítače a byl původním implementačním jazykem pro ty části operačního systému CP/M, které nebyly napsány v assembleru. Mnoho vestavěných systémů založených na procesorech Intel a Zilog Z80 bylo naprogramováno v PL/M v 70. a 80. letech minulého století. Například firmware komponenty Service Processor CISC IBM AS/400 byl napsán v PL/M.

Původní překladač PL/M se zaměřil na Intel 8008 . Aktualizovaná verze (PL/M-80) generovala kód pro procesor 8080 , který by také běžel na novějších Intel 8085 i na rodině Zilog Z80 (protože je zpětně kompatibilní s 8080). Později následovaly kompilátory pro řadu mikroprocesorů Intel 8048 a Intel 8051 (PL/M-51) a také pro procesory 8086 (8088) (PL/M-86), 80186 (80188) a následující 8086, včetně pokročilé 80286 a 32bitové 80386 . Byly také vyvinuty kompilátory PL/M pro pozdější mikrokontroléry, jako je rodina architektur Intel 8061 a 8096/ MCS-96 (PL/M-96).

Zatímco některé překladače PL/M byly „nativní“, což znamená, že běžely na systémech využívajících stejný mikroprocesor, např. Pro operační systém Intel ISIS , existovaly také křížové překladače , například PLMX , které běžely v jiných operačních prostředích, jako je Digital Research CP / M, Microsoft 's DOS a Digital Equipment Corporation je VAX / VMS .

Intel již nepodporuje PL/M , ale existují nástroje pro následný trh, jako jsou překladače zdrojových kódů PL/M-to-C .

Ukázkový kód 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;

Reference

Další čtení

Tento článek vychází z materiálu převzatého z Free On-line Dictionary of Computing před 1. listopadem 2008 a začleněn pod podmínky „relicencování“ GFDL , verze 1.3 nebo novější.