PL/M
PL/M | ||
---|---|---|
Gary Kildall | ||
Información general | ||
Paradigma | Imperativo | |
Apareció en | 1973 | |
Diseñado por | Gary Kildall | |
Implementaciones | Múltiples | |
Influido por | PL/I, ALGOL, XPL | |
Sistema operativo | Múltiples | |
El lenguaje de programación PL/M (acrónimo de Programming Language for Microcomputers, Lenguaje de programación para Microordenadores) fue un lenguaje de alto nivel concebido y desarrollado por Gary Kildall[1][2][3][4] en 1973,[2][1] tras la solicitud de Hank Smith[2][1] que trabajaba en Intel, para los microprocesadores de esta marca.
Características
[editar]El lenguaje incorporó ideas de PL/I, ALGOL y XPL,[2][1] disponiendo de un macro procesador integrado. A diferencia de otros lenguajes de su misma época como Pascal, C o BASIC, PL/M no disponía de rutinas estándar de entrada o salida. A cambio incluía características que conectaban con el hardware a nivel bajo específico de su microprocesador objetivo, como acceso directo a cualquier ubicación en memoria, a los puertos de E/S o a las banderas de interrupción del procesador de manera muy eficaz. PL/M fue el primer lenguaje de programación de alto nivel para microprocesadores, y el lenguaje en el que se desarrolló originalmente el sistema operativo CP/M. Muchos sistemas embebidos basados en Intel y en el Zilog Z80 fueron programados en PL/M durante las décadas de 1970 y 1980. Por ejemplo, el firmware del componente de Procesador del Servicio CISC del AS/400 fue escrito en PL/M.
El compilador de PL/M original generaba código para el Intel 8008. Una versión actualizada generaba código para el procesador 8080, que también corría en la familia del Zilog Z80, así como en el más moderno Intel 8085. Más tarde siguieron compiladores para el Intel 8048 y para la familia de microcontroladores Intel 8051, así como para el 8086 (8088), 80186 (80188) y subsiguientes procesadores compatibles 80x86, incluyendo el más avanzado 80286 y el 32-bits 80386. Se desarrollaron compiladores de PL/M para microcontroladores más tardíos, como el Intel 8061 y para la arquitectura de la familia 8096 / MCS-96. Mientras algunos compiladores de PL/M eran "nativos", significando que corrían en los sistemas que utilizan el propio microprocesador, por ejemplo para el Sistema Operativo de Intel ISIS, había también "compiladores cruzados" qué corrían en otros entornos operativos como Microsoft DOS, y los DEC VAX/VMS.
PL/M ya no es soportado por Intel, pero existen otras herramientas en el mercado como traductores PL/M-a-C (para ejemplos, ver enlaces externos abajo).
Códigos de muestra en PL/M
[editar]/* HOLA MUNDO para los Sistemas Operativos ISIS-II y CP/M */ HELLO: DO; DECLARE REP ADDRESS; WRITE: PROCEDURE (A,B,C,D) EXTERNAL; DECLARE (A,B,C,D) ADDRESS; END; CALL WRITE(0,.('Hello, world!'),13,.REP); END HELLO;
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;
Notas
[editar]- ↑ a b c d Shustek, Len. «En sus propias palabras: Gary Kildall». Remarkable People (en inglés). Computer History Museum. Consultado el 30 de noviembre de 2016.
- ↑ a b c d «Conexiones de ordenador: Gente, Lugares y Eventos en la evolución de la industria de los Ordenadores Personales». Revista Dr. Dobb's (Manuscript, part 1) (en inglés) (Kildall Family). 2 de agosto de 2016. Consultado el 30 de noviembre de 2016.
- ↑ Herb Johnson (2016). «ISIS, Intellec, PL/M, iRMX, e Intel - Siglo XX». www.retrotechnology.com (en inglés). Consultado el 30 de noviembre de 2016.
- ↑ «Gary Kildall y los Emprendedores Universitarios». Dr. Dobb's Journal (en inglés). 22 de junio de 2001. Consultado el 30 de noviembre de 2016.
Referencias
[editar]- Intel Corporation (1976). PL/M-80 Programming Manual (PL/M-80 Manual de Programación). Doc # 98-268B.
- McCracken, Daniel D. (1978). A Guide to PL/M Programming for Microcomputer Applications (Una Guía de programación en PL/M para Aplicaciones en Microordenadores). Pearson Addison-Wesley.
- Méthodes de programmation [Métodos de programación] (en francés). Un tercio de la obra (que trata sobre estructuras de datos) se dedica al PL/M. Direction des études et recherches d'Electricité de France: Eyrolles. 1984. p. 688. ISBN 221201581X.
- Jan Bielecki, PL/M – język programowania mikroprocesorów, [PL/M - Lenguaje de programación de microprocesadores], Serie Electrónica (en polaco), volumen 25, Varsovia: Wydawnictwa Komunikacji i Łączności.
- Jan Bielecki, System operacyjny ISIS-II [El sistema operativo ISIS-II], Serie Microordenadores (en polaco) (II edición), Varsovia: Wydawnictwa Naukowo-Techniczne, ISBN 83-204-0893-8.
Enlaces externos
[editar]- Guía de programación en PL/M 386 (en inglés) (PDF) – RadiSys Corporation, diciembre de 1999. Incluye la sintaxis completa del PL/M en notación BNF. También disponible en Archive.org.
- Manual de Programación en PL/M-80 (en inglés) – Intel Corporation (En Bitsavers.org).
- Asistente de Desarrollo para PL/M (DA-PL/M) – IDE comercial para PL/M de RistanCASE GmbH
- PLM2C - Traductor de PL/M a C – Producto comercial de Alternative Solutions
- Demostración de XTRAN: Traduciendo de PL/M a C – Producto comercial de Pennington Systems, Inc.
- Compilador Intel PL/M-86 – Vetusware dispone de una copia del compilador de PL/M para IBM.
Este artículo es una traducción de la Wikipedia en inglés, francés y polaco.
El original en inglés está basado originalmente en material del Diccionario On-line Libre de Ordenadores, utilizado con permiso. Actualícelo a discreción.