El lenguaje de programación PL / M (acrónimo de P rogramming L anguage for M icrocomputers [2] [3] ) es un lenguaje de alto nivel concebido y desarrollado por Gary Kildall [2] [3] [4] [1] en 1973 [2] [3] para Hank Smith [2] [3] en Intel para sus microprocesadores .
Desarrollador | Gary Kildall [1] de Microcomputer Applications Associates |
---|---|
Apareció por primera vez | 1973 [2] [3] |
Influenciado por | |
ALGOL , PL / I , XPL |
Descripción general
El lenguaje incorporó ideas de PL / I , ALGOL [ cita requerida ] y XPL , [2] [3] y tenía un macroprocesador integrado . Como graduado de la Universidad de Washington, Kildall había usado su computadora Burroughs B5500 , [5] y como tal era consciente del potencial de los lenguajes de alto nivel como ESPOL para la programación de sistemas.
A diferencia de otros lenguajes contemporáneos como Pascal , C o BASIC , PL / M no tenía rutinas estándar de entrada o salida. Incluía funciones dirigidas al hardware de bajo nivel específico de los microprocesadores de destino y, como tal, podía admitir el acceso directo a cualquier ubicación en la memoria, puertos de E / S y los indicadores de interrupción del procesador de una manera muy eficiente. PL / M fue el primer lenguaje de programación de nivel superior para computadoras basadas en microprocesadores y fue el lenguaje de implementación original para aquellas partes del sistema operativo CP / M que no estaban escritas en ensamblador. Muchos sistemas integrados basados en Intel y Zilog Z80 se programaron en PL / M durante las décadas de 1970 y 1980. Por ejemplo, el firmware del componente Procesador de servicio de CISC AS / 400 se escribió en PL / M.
El compilador PL / M original apuntaba al Intel 8008 . Una versión actualizada (PL / M-80) generó un código para el procesador 8080 , que también se ejecutaría en el Intel 8085 más nuevo, así como en la familia Zilog Z80 (ya que es retrocompatible con el 8080). Posteriormente siguieron los compiladores para la familia de microcontroladores Intel 8048 e Intel 8051 (PL / M-51), así como para los procesadores 8086 (8088) (PL / M-86), 80186 (80188) y posteriores basados en 8086, incluido el 80286 avanzado y 80386 de 32 bits . También se desarrollaron compiladores PL / M para microcontroladores posteriores, como la familia de arquitectura Intel 8061 y 8096 / MCS-96 (PL / M-96). [6]
Si bien algunos compiladores PL / M eran "nativos", lo que significa que se ejecutaban en sistemas que usaban el mismo microprocesador, por ejemplo, para el sistema operativo Intel ISIS , también había compiladores cruzados , por ejemplo PLMX , que se ejecutaban en otros entornos operativos como Digital Research. CP / M, Microsoft 's DOS , y digital Equipment Corporation ' s VAX / VMS .
PL / M ya no es compatible con Intel, pero existen herramientas del mercado de accesorios como los traductores de código fuente PL / M-to-C .
Código de muestra PL / M
ENCONTRAR : PROCEDIMIENTO ( PA , PB ) BYTE ; DECLARAR ( PA , PB ) BYTE ; / * ENCUENTRA LA CADENA EN SCRATCH EMPEZANDO EN PA Y TERMINANDO EN PB * / DECLARAR DIRECCIÓN J , ( K , COINCIDIR ) BYTE ; J = VOLVER ; COINCIDIR = FALSO ; DO WHILE NO PARTIDO Y ( MAXM > J ) ; ÚLTIMO , J = J + 1 ; / * INICIAR ESCANEO EN J * / K = PA ; / * INTENTO DE PARTIDO DE CADENA EN K * / HACER MIENTRAS SCRATCH ( K ) = MEMORIA ( ÚLTIMO ) Y NO ( COINCIDIR : = K = PB ) ; / * EMPAREJÓ UN PERSONAJE MÁS * / K = K + 1 ; ÚLTIMO = ÚLTIMO + 1 ; FIN ; FIN ; SI COINCIDEN ENTONCES / * MOVER ALMACENAMIENTO * / HACER ; ÚLTIMO = ÚLTIMO - 1 ; LLAME MOVER ; FIN ; DEVOLVER PARTIDO ; FIN ENCONTRAR ;
Referencias
- ↑ a b Swaine, Michael (22 de junio de 2001). "Gary Kildall y el espíritu empresarial colegiado" . Diario del Dr. Dobb . Archivado desde el original el 26 de julio de 2019 . Consultado el 20 de noviembre de 2006 .
- ^ a b c d e f Shustek, Len (2 de agosto de 2016). "En sus propias palabras: Gary Kildall" . Gente notable . Museo de Historia de la Computación . Archivado desde el original el 3 de octubre de 2019 . Consultado el 2 de febrero de 2020 .
- ^ a b c d e f Kildall, Gary Arlen (2 de agosto de 2016) [1993]. Kildall, Scott ; Kildall, Kristin (eds.). Conexiones informáticas: personas, lugares y eventos en la evolución de la industria de las computadoras personales (Manuscrito, parte 1). Familia Kildall . Consultado el 17 de noviembre de 2016 .
- ^ Johnson, Hierba (21 de julio de 2019). "ISIS, Intellec, PL / M, iRMX e Intel - siglo XX" . Retrotecnología . Archivado desde el original el 2 de octubre de 2019 . Consultado el 29 de enero de 2020 .
- ^ Kildall, Gary Arlen (septiembre de 1970). "APL \ B5500 - El lenguaje y su implementación" (PDF) . Universidad de Washington , Grupo de Ciencias de la Computación. Informe técnico 70-09-04. Archivado (PDF) desde el original el 20 de diciembre de 2019 . Consultado el 29 de enero de 2020 .
- ^ "Traductores y utilidades para el desarrollo de programas". Manual de software (PDF) . Intel Corporation . 1984 [1983]. pag. 3-1. 230786-001. Archivado (PDF) desde el original el 29 de enero de 2020 . Consultado el 29 de enero de 2020 .
[…] UN LENGUAJE PARA CADA NECESIDAD […] PL / M es el lenguaje 8086 más popular para la programación de sistemas y proporciona lo mejor tanto de código óptimo como de capacidades de lenguaje de alto nivel. […] PL / M-51 fue el primer lenguaje de alto nivel jamás introducido para un microcontrolador. El 8096 es compatible de manera similar con PL / M-96. […]
Otras lecturas
- Manual de programación PL / M-80 (PDF) . Intel Corporation . Enero de 1980 [1976]. Doc # 98-268B. Archivado (PDF) desde el original el 21 de diciembre de 2019 . Consultado el 29 de enero de 2020 .
- Guía MCS-8 para la programación PL / M (PDF) . Intel Corporation . Septiembre de 1973. Archivado (PDF) desde el original el 21 de diciembre de 2019 . Consultado el 2 de febrero de 2020 .
- Guía del programador de PL / M 386 (PDF) . RadiSys Corporation . Diciembre de 1999. Archivado (PDF) desde el original el 14 de agosto de 2006 . Consultado el 29 de enero de 2020 .(NB. Incluye la sintaxis completa de PL / M en notación BNF ).
- McCracken, Daniel D. (1978). Una guía de programación PL / M para aplicaciones de microcomputadoras . Pearson / Addison-Wesley .
Este artículo se basa en material extraído del Diccionario gratuito de informática en línea antes del 1 de noviembre de 2008 e incorporado bajo los términos de "renovación de licencias" de la GFDL , versión 1.3 o posterior.