Die PL / M-Programmiersprache
(Abkürzung für P Rogrammierung L Sprache für M Mikrocomputer [2][3])
ist eine Hochsprache, die von konzipiert und entwickelt wurde
Gary Kildall [2][3][4][1] 1973 [2][3] für Hank Smith [2][3] bei Intel für seine Mikroprozessoren.
Die Sprache enthielt Ideen von PL / I, ALGOL [ und XPL [2][3] und verfügte über einen integrierten Makroprozessor. Als Absolvent der University of Washington hatte Kildall ihren B5500-Computer [1] verwendet und war sich des Potenzials von Hochsprachen wie ESPOL für die Systemprogrammierung bewusst.
Im Gegensatz zu anderen zeitgenössischen Sprachen wie Pascal, C oder BASIC verfügte PL / M über keine standardmäßigen Eingabe- oder Ausgaberoutinen. Es enthielt Funktionen für die Low-Level-Hardware, die für die Ziel-Mikroprozessoren spezifisch ist, und als solche konnte es auf sehr effiziente Weise den direkten Zugriff auf jeden Ort im Speicher, auf E / A-Ports und auf die Prozessor-Interrupt-Flags unterstützen. PL / M war die erste höhere Programmiersprache für mikroprozessorbasierte Computer und die ursprüngliche Implementierungssprache für diejenigen Teile des CP / M-Betriebssystems, die nicht in Assembler geschrieben wurden. Viele auf Intel und Zilog Z80 basierende Embedded-Systeme wurden in den 1970er und 1980er Jahren in PL / M programmiert. Beispielsweise wurde die Firmware der Serviceprozessorkomponente von CISC AS / 400 in PL / M geschrieben.
Der ursprüngliche PL / M-Compiler zielte auf Intel 8008 ab. Eine aktualisierte Version generierte Code für den 8080-Prozessor, der auch auf dem neueren Intel 8085 sowie auf der Zilog Z80-Familie (da abwärtskompatibel mit dem) ausgeführt werden sollte 8080). Später folgten Compiler für die Intel 8048- und Intel 8051-Mikrocontroller-Familie sowie für die 8086- (8088), 80186- (80188) und nachfolgenden 8086-basierten Prozessoren, darunter die fortschrittlichen 80286- und die 32-Bit-80386-Prozessoren. Es gab auch PL / M-Compiler, die für spätere Mikrocontroller entwickelt wurden, z. B. die Architekturfamilie Intel 8061 und 8096 / MCS-96.
Während einige PL / M-Compiler "nativ" waren, was bedeutet, dass sie auf Systemen liefen, die denselben Mikroprozessor verwendeten, z. Für das Intel ISIS-Betriebssystem gab es auch "Cross-Compiler", z. B. PLMX, die unter anderen Betriebsumgebungen wie CP / M, Microsoft DOS und VAX / VMS von Digital Equipment Corporation ausgeführt wurden.
PL / M wird von Intel nicht mehr unterstützt, es gibt jedoch Aftermarket-Tools wie PL / M-to-C-Übersetzer (Beispiele siehe Externe Links unten).
PL / M-Beispielcode Bearbeiten
SUCHEN : VERFAHREN ( PA PB ]) BYTE ;
DECLARE ( PA PB ) BYTE ;
] / * FINDEN SIE DEN STRING IN SCRATCH, DER BEI PA BEGINNT UND BEI PB ENDET * /
DECLARE J ADDRESS
( K MATCH ) BYTE ;
J = ZURÜCK ;
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 ) ;
/ * ENTSPRECHEN EINEM MEHREREN ZEICHEN * /
K = K + 1 ; LAST = LAST + 1 ;
END ;
END ;
IF MATCH THEN / * MOVE STORAGE * /
DO ; LAST = [19659021] LAST - 1 ; CALL MOVER ;
END ;
RETURN MATCH ;
END FIND ;
- ^ a [19659002b Swaine, Michael (2001-06-22). "Gary Kildall und Collegial Entrepreneurship". Dr. Dobb's Journal . Abgerufen 2006-11-20 .
- ^ a b c d e [19459 f Shustek, Len (02.08.2016). "In seinen eigenen Worten: Gary Kildall". Bemerkenswerte Leute . Computer History Museum.
- ^ a b c d e f [19659115GaryArlen(02082016)[1993]. Kildall, Scott; Kildall, Kristin (Hrsg.). "Computerverbindungen: Menschen, Orte und Ereignisse in der Entwicklung der Personal Computer-Industrie" (Manuskript, Teil 1). Familie Kildall . Abgerufen am 17.11.2016 .
- ^ ISIS, Intellec, PL / M und Intel
Referenzen
]
- Intel Corporation (1976). PL / M-80-Programmierhandbuch . Doc # 98-268B.
- McCracken, Daniel D. (1978). Ein Leitfaden zur PL / M-Programmierung für Mikrocomputeranwendungen . Pearson Addison-Wesley.
Externe Links [ Bearbeiten ]
Dieser Artikel basiert auf Material, das vor dem 1. November 2008 aus dem Free Online Dictionary of Computing entnommen und unter den "relicensing" -Bedingungen der GFDL, Version 1.3, aufgenommen wurde oder später.