PL/M - PL/M
Entwickler | Gary Kildall von Microcomputer Applications Associates |
---|---|
Erstmals erschienen | 1973 |
Beeinflusst von | |
ALGOL , PL/I , XPL |
Die PL / M Programmiersprache (ein Akronym von P rogrammierung L anguage für M icrocomputers ) ist ein High-Level - Sprache von konzipiert und entwickelt Gary Kildall 1973 für Hank Smith bei Intel für seine Mikroprozessoren .
Überblick
Die Sprache beinhaltete Ideen von PL/I , ALGOL und XPL und hatte einen integrierten Makroprozessor . Als Absolvent der University of Washington hatte Kildall ihren Burroughs B5500- Computer verwendet und war sich als solcher des Potenzials von Hochsprachen wie ESPOL für die Systemprogrammierung bewusst .
Im Gegensatz zu anderen zeitgenössischen Sprachen wie Pascal , C oder BASIC hatte PL/M keine Standard-Ein- oder Ausgaberoutinen. Es umfasste Funktionen, die auf die für die Zielmikroprozessoren spezifische Low-Level-Hardware ausgerichtet waren, und als solche konnte es auf sehr effiziente Weise den direkten Zugriff auf jeden Speicherort, I/O-Ports und die Prozessor-Interrupt-Flags unterstützen. PL/M war die erste höhere Programmiersprache für mikroprozessorbasierte Computer und war die ursprüngliche Implementierungssprache für die Teile des CP/M- Betriebssystems, die nicht in Assembler geschrieben waren. Viele Intel- und Zilog-Z80- basierte Embedded-Systeme wurden in den 1970er und 1980er Jahren in PL/M programmiert. Beispielsweise wurde die Firmware der Serviceprozessorkomponente von CISC IBM AS/400 in PL/M geschrieben.
Der ursprüngliche PL/M- Compiler zielte auf den Intel 8008 ab . Eine aktualisierte Version (PL/M-80) generierte Code für den 8080- Prozessor, der auch auf dem neueren Intel 8085 sowie auf der Zilog Z80-Familie laufen würde (da sie mit dem 8080 abwärtskompatibel ist ). Später folgten Compiler für die Intel 8048 und Intel 8051 -Mikrocontroller-Familie (PL/M-51) sowie für die 8086 (8088) (PL/M-86), 80186 (80188) und nachfolgenden 8086-basierten Prozessoren, darunter die Advanced 80286 und 32-Bit 80386 . Es gab auch PL/M-Compiler, die für spätere Mikrocontroller entwickelt wurden, wie die Intel 8061 und 8096 / MCS-96 Architekturfamilie (PL/M-96).
Während einige PL / M - Compiler „native“ waren, was bedeutet , dass sie auf Systemen lief , dass die gleichen Mikroprozessor, zB für die Intel - ISIS - Betriebssystem gab es auch Cross - Compiler zum Beispiel PLMX , die RAN auf anderen Betriebsumgebungen wie Digital Research CP / M, Microsoft 's DOS und Digital Equipment Corporation ' s VAX / VMS .
PL/M wird von Intel nicht mehr unterstützt, aber es gibt Aftermarket-Tools wie PL/M-to-C -Quellcode-Übersetzer .
PL/M-Beispielcode
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;
Verweise
Weiterlesen
- PL/M-80-Programmierhandbuch (PDF) . Intel-Corporation . Januar 1980 [1976]. Dok.-Nr. 98-268B. Archiviert (PDF) vom Original am 21.12.2019 . Abgerufen 2020-01-29 .
- MCS-8-Leitfaden zur PL/M-Programmierung (PDF) . Intel-Corporation . September 1973. Archiviert (PDF) vom Original am 21.12.2019 . Abgerufen 2020-02-02 .
- PL/M 386-Programmierhandbuch (PDF) . RadiSys Corporation . Dezember 1999. Archiviert (PDF) vom Original am 14.08.2006 . Abgerufen 2020-01-29 .(Hinweis: Enthält die gesamte Syntax von PL/M in BNF- Notation.)
- McCracken, Daniel D. (1978). Ein Leitfaden zur PL/M-Programmierung für Mikrocomputeranwendungen . Pearson / Addison-Wesley .
Dieser Artikel basiert auf Material, das vor dem 1. November 2008 aus dem Free Online Dictionary of Computing entnommen wurde und unter die "Relicensing"-Bedingungen der GFDL , Version 1.3 oder höher, aufgenommen wurde.