Articulo de referencia

MACRO-11

MACRO-11 es un lenguaje ensamblador con funciones de macro , diseñado para la familia de minicomputadoras PDP-11 de Digital Equipment Corporation (DEC). Es el sucesor de Program...

MACRO-11 es un lenguaje ensamblador con funciones de macro , diseñado para la familia de minicomputadoras PDP-11 de Digital Equipment Corporation (DEC). Es el sucesor de Program Assembler Loader ( PAL-11R ), una versión anterior del lenguaje ensamblador PDP-11 sin funciones de macro.

MACRO-11 era compatible con todos los sistemas operativos DEC PDP-11. Los sistemas Unix PDP-11 también incluyen un ensamblador (denominado ) , estructuralmente similar a MACRO-11, pero con una sintaxis diferente y menos funciones. El ensamblador MACRO-11 (y los programas creados por él) también podían ejecutarse bajo el modo de compatibilidad RSX-11 de OpenVMS en VAX . [ 1 ]

(La fecha indicada en el resumen es errónea. En 1974, estaba programando un PDP 11/34 en Macro-11 bajo DOS/BATCH).

Ejemplo de programación

Un programa completo de "¡Hola, mundo!" en ensamblador de macros para PDP-11, para ejecutarse bajo RT-11 :

.TÍTULO HOLA MUNDO .MCALL .TTYOUT , .SALIDA HOLA: : MOV #MSG,R1 ;DIRECCIÓN DE INICIO DE LA CADENA 1 $: MOVB ( R1 ) + , R0 ;OBTENER EL SIGUIENTE CARÁCTER BEQ DONE ;SI ES CERO, SALIR DEL BUCLE .TTYOUT ;DE LO CONTRARIO, IMPRIMIRLO BR 1 $ ;REPETIR BUCLE DONE: .SALIDAMSG: .ASCIZ / Hola , mundo ! / .END HOLA

La .MCALLpseudo-operación advierte al ensamblador que el código utilizará las macros .TTYOUTy . Las macros y están definidas en la biblioteca de macros estándar del sistema para expandirse a las instrucciones que llaman al monitor RT-11 para realizar las funciones solicitadas..EXIT.TTYOUT.EXITEMT

Si este archivo es HELLO.MAC , los comandos RT-11 para ensamblar, enlazar y ejecutar (con la salida de la consola mostrada) son los siguientes:

.MACRO HELLO ERRORES DETECTADOS : 0.LINK HOLA.R HOLA Hola , mundo ! .

(El indicador de comandos del RT-11 es " .")

Para un ejemplo más complejo de código MACRO-11, se eligen al azar dos ejemplos: KPUN.MAC de Kevin Murrell o la rutina JULIAN de Farba Research. Se pueden encontrar bibliotecas más extensas de código PDP-11 en los archivos de software libre de Metalab y Trailing Edge. [ 2 ] [ 3 ]

Referencias

  1. "Manual de herramientas y lenguaje de software VAX/VMS" (PDF) . Bitsavers.org . 1985. Consultado el 31 de diciembre de 2020 .
  2. Metalab
  3. Borde de salida
  • Guía del programador de macros RMS-II para RSX-11M-Plus (abril de 1983)
  • Michael Singer, PDP-11. Programación en lenguaje ensamblador y organización de máquinas, John Wiley & Sons, Nueva York: 1980.