MACRO-10 es un lenguaje ensamblador con amplias funciones de macros para los sistemas informáticos mainframe basados en PDP-10 de DEC , el DECsystem-10 y el DECSYSTEM-20 . MACRO-10 está implementado como un ensamblador de dos pasadas .
Ejemplos de programación
Un programa sencillo de " ¡Hola mundo! " en ensamblador MACRO-10, para ejecutarse en TOPS-10 , adaptado de un ejemplar de una gran colección de programas de "¡Hola mundo!" en varios lenguajes: [1]
TÍTULO HOLA MUNDO ; 'Hola mundo' en MACRO-10 para TOPS-10 BUSCAR UUOSYM ; Hacer que los nombres de los símbolos UUO estén disponibles
LAB: ASCIZ / Hola , mundo ! / ; Cadena ASCII terminada en NUL con CRLF
INICIO: REINICIAR ; Inicializar trabajo para limpiar estado de ejecución SALIDA: OUTSTR LAB ; Cadena de salida que comienza en LAB: MONRT. ; Regresar al monitor JRST SALIDA ; Reiniciar en SALIDA: si el usuario CONTINÚA el trabajo FIN INICIO ; Finalizar ensamblaje, establecer dirección de inicio del programa
Si este programa se guarda en el archivo HELLO.MAC , se puede ensamblar, vincular y ejecutar de esta manera (el indicador del sistema TOPS-10 está al .comienzo de las líneas):
.COMPILE HOLA.MAC / DLIST MACRO: HOLA
SALIDA
.LOAD HOLA ENLACE: Cargando
SALIDA
.GUARDAR
HOLA guardado
.CORRER
Hola Mundo !
.
El archivo de listado de ensamblaje generado por la /DLISTopción (Disk LISTing) del COMPILEcomando:
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 BUSCAR 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: REINICIO ; Inicializar trabajo para limpiar estado 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.; Regresar al monitor 000007' 254 00 0 00 000005' JRST SALIDA ; Reiniciar en SALIDA: si el usuario CONTINÚA el trabajo 000004' FIN INICIO ; Finalizar ensamblaje, establecer dirección de inicio del programa
NO SE DETECTARON ERRORES
LA INTERRUPCIÓN DEL PROGRAMA ES 000010. EL TIEMPO DE CPU UTILIZADO ES 58 : 25.100
36 P NÚCLEO UTILIZADO
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
LAB 000000 ' MONRT. 047040 000012 SALIDA 000005 ' OUTSTR 051140 000000 REINICIO 047000 000000 INICIO 000004 '
La fecha ":9" es un problema del año 2000. En el sitio web "99 Bottles of Beer" se puede consultar 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]
Referencias
- ^ Wolfram Rösler, "The Hello World Collection". Recuperado el 16 de noviembre de 2016.
- ^ "99 botellas de cerveza" Consultado el 10 de abril de 2009.
- ^ Archivo de software del Trailing Edge PDP-10
Enlaces externos
- Manual de referencia del ensamblador de macros DECsystem-10 (PDF) . Maynard, Massachusetts: Digital Equipment Corporation. Abril de 1978 . Consultado el 8 de julio de 2010 .
- Singer, Michael (1978). Introducción a la programación en lenguaje ensamblador DECsystem-10 . Nueva York: John Wiley & Sons. pág. 145. ISBN 0-471-03458-4.
- Gorin, Ralph E (1981). Introducción a la programación en lenguaje ensamblador DECSYSTEM-20 . Bedford, Massachusetts: Digital Press. pág. 539. ISBN 0-932376-12-6.