MACRO-10 es un lenguaje ensamblador con amplias macro instalaciones de DEC 's PDP-10 basados en ordenador central sistemas, el DECsystem-10 y la DECSYSTEM-20 . MACRO-10 se implementa como un ensamblador de dos pasos .
Ejemplos de programación
Un programa simple " ¡Hola, mundo! " En el ensamblador MACRO-10, para ejecutar bajo TOPS-10 , adaptado de un espécimen en una gran colección de programas "Hola mundo" en varios idiomas: [1]
TÍTULO HOLA MUNDO ; 'Hola mundo' en MACRO-10 para TOPS-10 SEARCH UUOSYM ; Hacer que los nombres de los símbolos de UUO estén disponiblesLAB: ASCIZ / ¡Hola , mundo ! / ; Cadena ASCII terminada en NUL con CRLFINICIO: RESET ; Inicializar trabajo para limpiar el estado de tiempo de ejecución OUTPUT: OUTSTR LAB ; Cadena de salida que comienza en LAB: MONRT. ; Regrese al monitor SALIDA JRST ; Reiniciar en SALIDA: si el usuario CONTINÚA el trabajo FINALIZAR INICIO ; Finalizar el montaje, configurar la dirección de inicio del programa
Si este programa está guardado en el archivo HELLO.MAC , puede ensamblarse, vincularse y ejecutarse así (el indicador del sistema TOPS-10 está .
al principio de las líneas):
.COMPILE HELLO.MAC / DL IST MACRO: HELLOSALIDA.CARGAR HELLO LINK: CargandoSALIDA.GUARDAR HOLA guardado.CORRERHola , mundo !.
El archivo de lista de ensamblado generado por la /DLIST
opción (Disk LISTing) para el COMPILE
comando:
HELLO WORLD MACRO % 53 B ( 1247 ) 17 : 29 7 - Abr - : 9 Página 1 HELLO MAC 7 - Abr - : 9 17 : 29 TÍTULO HOLA MUNDO ; 'Hola mundo' en MACRO-10 para TOPS-10 SEARCH UUOSYM ; Hacer que los nombres de los símbolos de 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 ; Inicializar 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 con el trabajo 000004 ' FIN INICIO ; Finalizar el montaje, configurar la dirección de inicio del programa NO SE DETECTARON ERRORES LA ROTURA DEL PROGRAMA ES 000010 TIEMPO DE CPU USADO 58 : 25.100 36 P NÚCLEO UTILIZADOHELLO WORLD MACRO % 53 B ( 1247 ) 17 : 29 7 - Abr - : 9 Página S - 1 HELLO MAC 7 - Abr - : 9 17 : 29 TABLA DE SÍMBOLOS LAB 000000 ' MONRT. 047040 000012 SALIDA 000005 ' SALIDA 051140 000000 RESET 047000 000000 INICIO 000004 '
La fecha ": 9" es un problema del año 2000 . Un programa de ejemplo MACRO-10 más complejo, que reproduce una versión de la canción 99 Bottles of Beer , se puede examinar en el sitio web "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, "La colección Hello World" . Consultado el 16 de noviembre de 2016.
- ^ "99 botellas de cerveza", obtenido el 10 de abril de 2009.
- ^ Archivo de software Trailing Edge PDP-10
enlaces externos
- Manual de referencia del ensamblador de macros DECsystem-10 (PDF) . Maynard, Massachusetts: Corporación de equipos digitales. Abril de 1978 . Consultado el 8 de julio de 2010 .
- Cantante, Michael (1978). Introducción a la programación del lenguaje ensamblador DECsystem-10 . Nueva York: John Wiley & Sons. pag. 145. ISBN 0-471-03458-4.
- Gorin, Ralph E (1981). Introducción a la programación en lenguaje ensamblador DECSYSTEM-20 . Bedford, Massachusetts: Prensa digital. pag. 539. ISBN 0-932376-12-6.