PL/M
# PL/M

Il PL/M (sigla di Programming Language for Microcomputers) è un linguaggio di programmazione ad alto livello creato da Gary Kildall nel 1972 per i microprocessori Intel. Il PL/M non è più supportato da Intel ma esistono comunque in circolazione dei traduttori da PL/M a C.

## Caratteristiche

Il PL/M incorporava concetti ripresi da preesistenti linguaggi quali il PL/I, l'ALGOL e l'XPL, ed integrava un esecutore di macro. A differenza di altri linguaggi contemporanei come il Pascal, il C o il BASIC, il PL/M non aveva funzioni standard per la gestione dell'input/output. Includeva delle funzionalità scritte per accedere a basso livello all'hardware dei processori a cui si rivolgeva e, per tale motivo, supportava in maniera molto efficiente l'accesso diretto a qualsiasi locazione di memoria, alle porte di I/O ed ai flag degli interrupt del processore.

Il PL/M è stato il linguaggio con il quale Kildall ha scritto il sistema operativo CP/M; è stato usato anche per scrivere il firmware dell'AS/400 (CISC). I compilatori PL/M sono stati resi disponibili per diverse piattaforme: Intel 4004, 8008, 8080, 8085, 8051, 8052, 8096, 80196, 8086/8088, 80186/80188, 286 e 386. Mentre alcuni di essi erano "nativi", vale a dire che giravano su sistemi che usavano lo stesso microprocessore (ad esempio per il sistema operativo Intel ISIS), c'erano anche dei "cross compiler", che giravano cioè su altri ambienti come il DOS di Microsoft o il VAX/VMS di Equipment Corporation.

