MACRO-10 es un lenguaje ensamblador con amplias funciones de macro para los sistemas informáticos Mainframe basados en PDP-10 de DEC , el DECsystem-10 y el DECSYSTEM-20 . MACRO-10 se implementa como un ensamblador de dos pasadas .
Un programa simple "¡ Hola, mundo! " en ensamblador MACRO-10, para ejecutar bajo TOPS-10 , adaptado de una muestra de una gran colección de programas "Hola Mundo" en varios idiomas: [1]
TÍTULO HOLA MUNDO ; 'Hola mundo' en MACRO-10 para TOPS-10 BÚSQUEDA UUOSYM ; Hacer que los nombres de los símbolos UUO estén disponibles LABORATORIO: ASCIZ / ¡ Hola mundo ! / ; Cadena ASCII terminada en NUL con CRLF INICIO: REINICIAR ; Inicialice el trabajo para limpiar el estado de tiempo de ejecución SALIDA: OUTSTR LAB ; Cadena de salida que comienza en LAB: MONRT. ; Volver al monitor SALIDA JRST ; Reiniciar en SALIDA: si el usuario CONTINÚA el trabajo FINALIZAR INICIO ; Finalizar el montaje, establecer la dirección de inicio del programa
Si este programa se guarda en el archivo HOLA.MAC , se puede ensamblar, vincular y ejecutar de esta manera (el mensaje del sistema TOPS-10 se encuentra al .
comienzo de las líneas):
.COMPILE HOLA.MAC / DLIST MACRO: HOLA SALIDA.LOAD ENLACE HOLA: Cargando SALIDA.GUARDAR HOLA guardado .CORRERHola Mundo ! _ .
El archivo de listado de ensamblados generado por la /DLIST
opción (LISTA de discos) para el COMPILE
comando:
HOLA MUNDO MACRO % 53 B ( 1247 ) 17 : 29 7 - Abr - : 9 Página 1 HOLA MAC 7 - Abr - : 9 17 : 29 TÍTULO HOLA MUNDO ; 'Hola mundo' en MACRO-10 para TOPS-10 BÚSQUEDA UUOSYM ; Hacer que los nombres de los símbolos UUO estén disponibles 000000' 110 145 154 154 157 LAB: ASCIZ / ¡ Hola mundo ! 000001' 054 040 167 157 162 000002' 154 144 041 015 012 / ; Cadena ASCII terminada en NUL con CRLF 000003' 000 000 000 000 000 000004' 047 00 0 00 000000 INICIO: RESET ; Inicialice el trabajo para limpiar el estado de tiempo de ejecución 000005' 051 03 0 00 000000' SALIDA: OUTSTR LAB ; Cadena de salida que comienza en LAB: 000006' 047 01 0 00 000012 MONRT. ; Volver al monitor 000007' 254 00 0 00 000005' SALIDA JRST ; Reiniciar en SALIDA: si el usuario CONTINÚA el trabajo 000004' FINALIZAR INICIO ; Finalizar el montaje, establecer la dirección de inicio del programa NO SE DETECTARON ERRORES LA INTERRUPCIÓN DEL PROGRAMA ES 000010 TIEMPO DE CPU UTILIZADO 58 : 25.100 NÚCLEO 36 P USADO HOLA MUNDO MACRO % 53 B ( 1247 ) 17 : 29 7 - Abr - : 9 Página S - 1 HOLA MAC 7 - Abr - : 9 17 : 29 TABLA DE SÍMBOLOS LABORATORIO 000000 ' MONRT. 047040 000012 SALIDA 000005 ' SALIDA 051140 000000 RESET 047000 000000 INICIO 000004 '
La fecha ":9" es un problema del año 2000 . En el sitio web "99 Bottles of Beer" se puede examinar un programa de ejemplo MACRO-10 más complejo, que reproduce una versión de la canción 99 Bottles of Beer . [2]
Para cuerpos de código más grandes, gran parte del código MACRO-10 para los sistemas TOPS-10 y TOPS-20 está disponible en los archivos de cinta Trailing Edge PDP-10. [3]