PL/M
Deweloper | Gary Kildall z firmy Microcomputer Applications Associates |
---|---|
Po raz pierwszy pojawiły się | 1973 |
Pod wpływem | |
ALGOL , PL/I , XPL |
Język programowania PL/M (skrót od firmy języka programowania dla mikrokomputerów ) to wymyślony język wysokiego poziomu i opracowany przez Gary'ego Kildalla w 1973 roku dla Hanka Smitha z Intel dla jego mikroprocesorów .
Przegląd
Język zawierał idee z PL/I , ALGOL [ potrzebne źródło ] i XPL oraz miał zintegrowany makroprocesor . Jako absolwent University of Washington Kildall używał swojego komputera Burroughs B5500 i jako taki był świadomy potencjału języków wysokiego poziomu, takich jak ESPOL , w programowaniu systemów.
W przeciwieństwie do innych współczesnych języków, takich jak Pascal , C czy BASIC , PL/M nie miał standardowych procedur wejścia ani wyjścia. Zawierał funkcje przeznaczone dla niskopoziomowego sprzętu specyficznego dla docelowych mikroprocesorów i jako taki mógł obsługiwać bezpośredni dostęp do dowolnego miejsca w pamięci, portów I/O i flag przerwań procesora w bardzo wydajny sposób. PL/M był pierwszym językiem programowania wyższego poziomu dla komputerów opartych na mikroprocesorach i był oryginalnym językiem implementacji tych części systemu CP/M , które nie zostały napisane w asemblerze. Wiele Intel i Systemy wbudowane oparte na Zilog Z80 były programowane w PL / M w latach 70. i 80. XX wieku. Na przykład oprogramowanie układowe komponentu Service Processor CISC IBM AS/400 zostało napisane w języku PL/M.
Oryginalny kompilator PL/M był ukierunkowany na Intel 8008 . Zaktualizowana wersja (PL / M-80) wygenerowała kod dla 8080 , który działałby również na nowszych Intel 8085 , a także na rodzinie Zilog Z80 (ponieważ jest wstecznie kompatybilny z 8080). Później pojawiły się kompilatory dla Intel 8048 i Intel 8051 (PL/M-51), a także dla procesorów 8086 (8088) (PL/M-86), 80186 (80188) i kolejnych opartych na 8086, w tym zaawansowany 80286 i 32-bitowy 80386 . Były też kompilatory PL/M opracowane dla późniejszych mikrokontrolerów, takich jak Intel 8061 i 8096 / MCS-96 (PL/M-96).
Podczas gdy niektóre kompilatory PL/M były „natywne”, co oznacza, że działały w systemach wykorzystujących ten sam mikroprocesor, np. dla systemu operacyjnego Intel ISIS , istniały również kompilatory krzyżowe , na przykład PLMX, które działały w innych środowiskach operacyjnych, takich jak Digital Research CP/M, Microsoft DOS i VAX / VMS Digital Equipment Corporation .
PL/M nie jest już obsługiwany przez firmę Intel, ale istnieją narzędzia rynku wtórnego, takie jak translatory kodu źródłowego PL/M-to-C.
Przykładowy kod PL/M
ZNAJDŹ : PROCEDURA ( PA , PB ) BYTE ; DECLARE ( PA , PB ) BAJT ; /* ZNAJDŹ ŁAŃCUCH W SCRATCH ZACZYNAJĄCYM W PA I KOŃCZĄCYM W PB */ DEKLARUJ ADRES J , ( K , DOPASUJ ) BYTE ; J = WSTECZ ; DOPASOWANIE = FAŁSZ ; ZRÓB, GDY NIE DOPASUJ I
( MAKS > J ) ; OSTATNI , J = J + 1 ; /* ROZPOCZNIJ SKANOWANIE W J */ K = PA ; /* PRÓBA DOPASOWANIA ŁAŃCUCHA W K */ DO GDY SCRATCH ( K ) = PAMIĘĆ ( OSTATNIA ) AND NOT ( MATCH := K = PB ) ; /* DOPASOWANY WIĘCEJ ZNAK */ K =
K + 1 ; OSTATNI = OSTATNI + 1 ; KONIEC ; KONIEC ; JEŚLI DOPASUJ TO /* PRZENIEŚ PAMIĘĆ */ DO ; OSTATNI = OSTATNI - 1 ; PRZENOSZENIE POŁĄCZEŃ ; KONIEC ; MECZ POWRÓT ; ZNAJDŹ KONIEC ;
Dalsza lektura
- Instrukcja programowania PL/M-80 (PDF) . Firma Intel . Styczeń 1980 [1976]. Dokument nr 98-268B. Zarchiwizowane (PDF) od oryginału w dniu 2019-12-21 . Źródło 2020-01-29 .
- MCS-8 Przewodnik po programowaniu PL/M (PDF) . Firma Intel . Wrzesień 1973. Zarchiwizowane (PDF) od oryginału w dniu 21.12.2019 . Źródło 2020-02-02 .
- Podręcznik programisty PL/M 386 (PDF) . Firma RadiSys . Grudzień 1999. Zarchiwizowane (PDF) od oryginału w dniu 14.08.2006 . Źródło 2020-01-29 . (Uwaga. Obejmuje całą składnię PL/M w notacji BNF .)
- McCracken, Daniel D. (1978). Przewodnik po programowaniu PL/M dla aplikacji mikrokomputerowych . Pearsona / Addisona-Wesleya .