MACRO-11 es un lenguaje ensamblador con macro facilidades para miniordenadores PDP-11 de Digital Equipment Corporation (DEC). Es el sucesor de PAL-11 (Program Assembler Loader), una versión anterior del lenguaje ensamblador PDP-11 sin macros .
El lenguaje ensamblador MACRO-11 fue diseñado para la familia de miniordenadores PDP-11 . Fue compatible con todos los sistemas operativos DEC PDP-11. Los sistemas Unix PDP-11 también incluyen un ensamblador (llamado " as" ), estructuralmente similar a MACRO-11 pero con diferente sintaxis y menos características. El ensamblador MACRO-11 (y los programas creados por él) también podrían ejecutarse bajo el modo de compatibilidad RSX-11 de VAX / VMS . [1]
Ejemplo de programación
Un programa completo " ¡Hola, mundo! " En el ensamblador de macros PDP-11, para ejecutar bajo RT-11 :
.Title HOLA MUNDO .MCALL .TTYOUT , .Salir HOLA: : MOV # MSG , R1 ; ARRANQUE DIRECCIÓN DE LA CADENA 1 $: MOVB ( R1 ) + , R0 ; FETCH siguiente carácter BEQ DONE ; Si es cero, EXIT BUCLE .TTYOUT , de lo contrario IMPRIMIR BR 1 $ ; REPETIR EL BUCLE HECHO: .EXITMSG: .ASCIZ / ¡Hola , mundo ! / .END HOLA
La .MCALL
pseudo-operación advierte al ensamblador que el código usará las macros .TTYOUT
y .EXIT
. Las macros .TTYOUT
y .EXIT
se definen en la biblioteca de macros del sistema estándar para expandirse a las EMT
instrucciones para llamar al monitor RT-11 para realizar las funciones solicitadas.
Si este archivo es HELLO.MAC , los comandos de RT-11 para ensamblar, vincular y ejecutar (con la salida de la consola mostrada) son los siguientes:
ERRORES .MACRO HELLO DETECTADOS : 0 .LINK HOLA.R HOLA ¡Hola , mundo ! .
(El símbolo del sistema de RT-11 es " .
")
Para un ejemplo más complicado de código MACRO-11, dos ejemplos elegidos al azar son 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 gratuitos de Metalab y Trailing Edge. [2] [3]
Referencias
- ^ "Manual de herramientas y lenguaje del software VAX / VMS" (PDF) . bitsavers.org . 1985 . Consultado el 31 de diciembre de 2020 .
- ^ Metalab
- ^ Borde de salida
enlaces externos
- Documentación original (RSX11M_V2)
- Michael Singer, PDP-11. Programación de lenguaje ensamblador y organización de máquinas, John Wiley & Sons, NY: 1980.