PL/M - PL/M
Vývojář | Gary Kildall ve společnosti Microcomputer Applications Associates |
---|---|
Poprvé se objevil | 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í
- Programovací manuál PL/M-80 (PDF) . Intel Corporation . Leden 1980 [1976]. Doc # 98-268B. Archivováno (PDF) z originálu 21. prosince 2019 . Citováno 2020-01-29 .
- MCS-8 Guide to PL/M Programming (PDF) . Intel Corporation . Září 1973. Archivováno (PDF) z originálu 21. prosince 2019 . Citováno 2020-02-02 .
- Příručka programátora PL/M 386 (PDF) . RadiSys Corporation . Prosinec 1999. Archivováno (PDF) z originálu na 2006-08-14 . Citováno 2020-01-29 .(Pozn. Zahrnuje celou syntaxi PL/M v notaci BNF .)
- McCracken, Daniel D. (1978). Průvodce programováním PL/M pro mikropočítačové aplikace . Pearson / Addison-Wesley .
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ší.