You are on page 1of 14

41,*G

l BASIC i l
TURBO ILLLLEL1"-_ __ i

"*

H*

-H

Decumenteein eriginel cempileda 3; traducida del alemn per el Western New `*r"-url-L Atari Users Greup

Traduccin al castellana per gIa@freeshe||.c:-rg

-2-

Manual simplificado

TURBO-BASIC TURBO COMPILADOR


de

Frank Ostrowski

para microcomputadoras Atari XL/XE solamente

Compilado y traducido del alemn por el Western New York Atari Users Group Traduccin al castellano de glia@freeshell.org [Revisin 14-DIC-2008]

-3-

-4-

LISTA DE INSTRUCCIONES de Turbo-BASIC


Turbo-BASIC es totalmente compatible con Atari BASIC y puede usarse para correr cualquier programa a una mayor velocidad. Simplemente inicializa tu computador de la manera habitual. La nica restriccin es que necesitars reinicializar el Turbo-BASIC despus de haber usado el DOS (pero Turbo-BASIC tiene funciones de DOS incorporadas) Turbo-BASIC tiene muchas caractersticas extra. A continuacin hay una lista completa. Los programas pueden ser mecanografiados en letras maysculas o minsculas. El lenguaje mismo ocupa menos espacio que el Atari BASIC!

Entrada/salida de disco (DISK I/O)


BLOAD BRUN DELETE DIR BLOAD D:nomfich BRUN D:nomfich DELETE D:nomfich DIR DIR Dn:*.* LOCK D:nomfich RENAME D:viejo, nuevo UNLOCK D:nomfich
Carga binaria del fichero nomfich (como la opcin L con /N en DOS) Carga binaria y ejecuta el fichero nomfich (como la opcin L en DOS) Borra el fichero nomfich (como la opcin D en DOS) Directorio del disquete (como la opcin A del DOS) Directorio del disquete en la disquetera nmero n. Tambin se puede usar comodines (*.*) Bloquea el fichero nomfich (como la opcin F del DOS) Cambia el nombre del fichero (como la opcin E del DOS) Desbloquea el fichero nomfich (como la opcin G del DOS)

LOCK RENAME UNCLOK

GRFICOS
CIRCLE CLS FCOLOR FILLTO PAINT CIRCLE x, y, r CIRCLE x, y, r, r2 CLS CLS #6 FCOLOR n FILLTO x, y PAINT x, y
Dibuja un crculo con centro en x,y y un radio r. r2 es un radio vertical optativo. Permite hacer elipses o crculos perfectos. Limpia la pantalla. Limpia la pantalla abierta en el canal 6. Determina el color de relleno. Instruccin de relleno de reas de pantalla, equivalente a la secuencia de instrucciones: POSITION x,y : XIO 18,#&,0,0, S: en BASIC. Otro tipo de instruccin de relleno de pantalla. Esta es una rutina recursiva que rellenar cualquier objeto cerrado, a condicin que el punto x, y se encuentre en el interior de la superficie de ese objeto. Escribe el texto a$en forma de un bloque de bits {bit-block} partiendo en el punto x,y dentro de una pantalla grfica.

TEXT

TEXT x, y, a$

MEMORIA
DPOKE MOVE -MOVE BPUT BGET DPOKE m, v MOVE m, m1, m2 -MOVE m, m1, m2 BPUT #n, direccin, largo BGET #n, direccion, largo E scribe un valor entero v de 2 bytes en las direcciones de memoria m y m+1 . Donde ( 0<= v <=65535 ) Transfiere un bloque; mueve una cantidad m2 de bytes desde la posicin Inicial m hacia la nueva posicin inicial m1 Lo mismo que MOVE, pero hace la copia partiendo por el ltimo byte del bloque. PUT en bloque. Lo mismo que: FOR j=0 TO largo-1 : PUT #n,PEEK (direccin+j) : NEXT j GET en bloque; lo mismo que: FOR j=0 TO largo-1 : GET #n,a : POKE (direccin+j) : NEXT j

-5-

%PUT

%PUT #n, a

%GET

%GET #n, a

Hasta ahora no haba otra forma conveniente de poner valores numricos en archivos de disco o cassette que usar PRINT, el que primero los convierte en secuencia de caracteres {string}, un proceso lento y complicado. Ahora %PUT pone el nmero a sin cambios en un formato de punto flotante de 6 bytes. Lee desde el dispositivo n un nmero almacenado con %PUT y lo guarda en la variable a. Nuevamente, esto es mucho ms rpido que usar: INPUT #1,a.

PROGRAMACIN ESTRUCTURADA
REPEAT UNTIL WHILE WEND ELSE ENDIF REPEAT UNTIL < condicin > WHILE < condicin > WEND ELSE ENDIF
Inicia un bucle REPEAT-UNTIL Termina cuando se cumple la condicin Inicia un bucle WHILE-WEND que termina cuando se cumple "condicin Termina un bucle WHILE-END. Extensin opcional de IF. Si se usa, entonces la condicin IF no debe ser seguida por un THEN , sino terminada con un fin-de-lnea o dos puntos. Termina una condicin IF-ELSE-ENDIF o IF-ELSE. Nota que esto permite que una condicin IF se extienda por ms de una lnea BASIC, siempre que la sentencia IF est estructurada como se muestra en la nota 4. Comienza un bucle DO infinito Vuelve al comienzo del bucle DO. Sale del bucle DO-LOOP Comienza la definicin del procedimiento nombre Termina la definicin del procedimiento. Ejecuta el procedimiento nombre.

DO LOOP EXIT PROC ENDPROC EXEC

DO LOOP EXIT PROC nombre ENDPROC EXEC nombre

PROGRAMACIN GENERAL
PAUSE RENUM PAUSE n RENUM n, i, j
Pausa el procesamiento por n/50 segundos. Renumera el programa partiendo desde la lnea n, el primer nmero es i, con incrementos de j. Esta funcin maneja los GOTO, TRAP, y todas las otras referencias de lnea, excepto aquellas que involucran variables o nmeros calculados. Borra desde la lnea n hasta la i Muestra todas las variables y sus valores. Para los arreglos numricos, corresponden a los valores DIM+1. Para las secuencias de caracteres {strings}, el primer nmero es el largo (LEN) real y el segundo nmero es el tamao dimensionado (DIM) de la cadena. Vaciado hacia el dispositivo nombre, como P:, o D:SALE.DAT. Traza un programa durante la ejecucin. Apaga el modo de trazado. (es el modo por omisin). Forma de la instruccin SOUND que activa canales pareados para aumentar el rango de frecuencia. La instruccin sin argumentos apaga todos los sonidos. Forma alternativa de GOTO. Activa la indentacin de lneas (activada por omisin). Desactiva la indentacin de lneas.

DEL DUMP

DEL n, i DUMP

TRACE DSOUND

DUMP nombre TRACE TRACE DSOUND n, f, d, v DSOUND GO TO n *L *L -

GO TO *L

-6-

*F

*F (o *F +)

*F *B *B (o *B +) *B

Modo especial de bucles FORNEXT que corrige un error de Atari BASIC. Parece que en Atari BASIC un bucle inverso ilegal de la forma FOR X=2 TO 1 : PRINT X : NEXT X se ejecutar una vez aunque la condicin ya est cumplida desde el comienzo (X parte siendo mayor que 1). Turbo-BASIC corrige este error, pero deja la posibilidad de que los programas en Atari BASIC puedan usarlo. Desactiva el modo especial de FORNEXT haciendo que Turbo-BASIC se comporte como Atari BASIC Instruccin que permite atrapar la tecla de pausa {break key} mediante la orden TRAP dentro de un programa. Desactiva el modo especial de para la tecla [BREAK]. Forma especial de REM que pone 30 guiones en el listado del programa.

ETIQUETAS DE LNEA
# # nombre
Asigna el actual nmero de lnea a un nombre de etiqueta. Esta es una forma conveniente saltarse el problema de renumeracin cuando se usan variables como nmeros de lnea. Las etiquetas pueden imaginarse como una forma especial de variable. Se guardan como tales en la tabla de nombres de variables junto a las variables normales. Creemos que tambin se aument de 128 a 256 el nmero permitido de variables para acomodar estas etiquetas. Similar a la instruccin GOTO.

GO#

GO# nombre

MODIFICACIONES
CLOSE DIM CLOSE DIM a(n)
Cierra los canales 1-7. Asignar automticamente un valor cero a todos los elementos de un arreglo numrico al dimensionarlo, y caracteres nulos a todos los elementos de una secuencia de caracteres {strings}. An LEN es variable, sin embargo, inicialmente es cero. Espera el ingreso de una tecla presionada, y asigna el valor a la variable nombre. Es igual que OPEN #7,4,0,K: : GET #7, nombre : CLOSE #7 Despliega el contenido de texto al pedir {prompt} el ingreso de la(s) variable(s) a,b, igual que Microsoft BASIC. Muestra un listado del programa desde la lnea n hasta el final. Variacin de ONGOSUB para procedimientos. n1,n2, y sucesivos son los nombres de los procedimientos que sern ejecutados. Ahora esta instruccin retira (o desapila) un elemento {POP} de la pila de tiempo de ejecucin {runtime stack} de los cuatro tipos de bucles. Lo mismo que PRINT CHR$(n); Recupera la lnea de datos indicada por la etiqueta nombre. Ya no son necesarios los parntesis al final de esta instruccin, pero no importa si se le agregan RND(). Apaga todos los sonidos. Redirige el programa hacia la lnea referenciada por la etiqueta nombre

GET INPUT LIST ON POP PUT RESTORE RND SOUND TRAP

GET nombre INPUT texto;a,b, LIST n, ON a EXEC n1, n2, POP PUT n RESTORE #nombre RND SOUND TRAP #nombre

-7-

FUNCIONES DE TURBO-BASIC ARITMTICA/LGICA


HEX$ DEC DIV MOD FRAC TRUNC RAND $ HEX$(n) DEC(a$) n DIV i n MOD i FRAC(a) TRUNC(a) RAND(n) $nnn
Convierte n a una cadena hexadecimal. Convierte en decimal la cadena hexadecimal a$. Cuociente entero de n/i . Resto entero de n/i. Parte fraccional de a. Trunca la parte fraccionaria de a. Genera un nmero aleatorio entre 0 y n. Permite el ingreso de nmeros hexadecimales, pero son convertidos a decimales. Por ejemplo, FOR I=$0600 to $067F es lo mismo que FOR I=1536 to 1663. AND booleano de 8 bits entre n e i. O booleano de 8 bits entre n e i. O exclusivo booleano de 8 bits entre n e i.

& ! EXOR

n&i n!i n EXOR i

MEMORIA
DPEEK TIME TIME$ INKEY$ INSTR DPEEK(m) TIME TIME$ INKEY$ INSTR(x$,a$)
Doble PEEK de m,m+1. Hora en formato numrico. Hora en formato de caracteres, HHMMSS. Recupera el ltimo carcter digitado. Obtiene la ubicacin relativa del inicio de la cadena a$ dentro de la cadena x$ (retorna 0 sin no la encuentra). La coincidencia debe ser exacta. No son vlidas las secuencias de caracteres con letras iguales pero con diferencias en maysculas o minsculas o diferencias en el vdeo (normal o inverso). i especifica el comienzo de la bsqueda. Lo mismo que INSTR, pero esta instruccin no distingue entre maysculas y minsculas ni caracteres inversos. Ej.: UINSTR(HoLa,hola) retorna 1. idem adems especifica un punto de partida opcional. Valor del ltimo nmero de error. Lnea en la que ocurri el ltimo error.

UINSTR

INSTR(x$,a$,i) UINSTR(x$,a$) UINSTR(x$,a$,i) ERR ERRL

ERR ERRL

CONSTANTES
%0 %1 %2 %3
Estas 4 constantes simplemente representan los nmeros 0 a 3 respectivamente. La diferencia de usar estos en los programas es que X = 1 requiere de 10 bytes, en tanto que X = %1 slo necesita 4 (los nmeros requieren 7 bytes, 6 para el nmero mas un identificador que lo precede). Siempre es una buena prctica crear variables para los nmeros que se usan ms de tres veces en un programa.

-8-

NOTAS ADICIONALES
1. Los nombres de variable, procedimiento {procedure} y etiqueta {label} pueden contener el carcter de subrayado (_) 2. Para imprimir comillas () en una secuencia de caracteres o cadena {string}, se teclean dos veces, a diferencia del mtodo de Atari BASIC de usar CHR$(34). Ejemplo: TEST;CHR$(34);TEST en Turbo-BASIC se escribe TESTTEST, ambos procedimientos generan en pantalla: TESTTEST 3. Durante la carga inicial, Turbo-BASIC busca un fichero BASIC llamado AUTORUN.BAS. Si lo encuentra, lo carga y ejecuta automticamente. 4. Una sentencia IF de lneas mltiples se construye as: 10 IF X > 10 20 PRINT X-10 30 GO# MUY_GRANDE 40 ELSE 50 PRINT X 60 GO# X_ESTA_BIEN 70 ENDIF Igualmente, mira como se han usado etiquetas de lnea en las sentencias GOTO

MENSAJES DE ERROR
Turbo-BASIC tambin muestra descripciones en ingls de todos los errores, incluso varios nuevos para los errores relacionados con las nuevas instrucciones: Error-22? NEST = Loops not properly nested | ANIDACIN = Bucles anidados incorrectamente. Error-23? WHILE = WEND with no corresponding WHILE | WHILE= Hay una instruccin WEND sin un WHILE Error-24? REPEAT = UNTIL with no corresponding REPEAT| REPEAT= UNTIL no est precedido de REPEAT Error-25? DO = LOOP with no corresponding DO | DO= LOOP no va precedido del DO correspondiente. Error-26? EXIT = EXIT is outside of a loop | EXIT= EXIT est fuera de un bucle Error-27? XPROC = Error ejecutando PROC | XPROC= Error al ejecutar PROC Error-28? EXEC = ENDPROC with no corresponding EXEC | EXEC= ENDPROC sin un EXEC correspondiente Error-29? PROC = Procedure does not exist. | PROC= El procedimiento no existe Error-30? # = Label does not exist. | #= Esa etiqueta no existe. El error 15 ha sido expandido para inclur un UNTIL que se relaciona con un REPEAT que ya ha sido borrado.

-9-

-10-

EL TURBO COMPILADOR
Documentacin e Instrucciones de Operacin Por Dave Arlington Programa original de Frank Ostrowski
El TURBO COMPILADOR incrementar entre 3 a 5 veces la velocidad de tus programas en TURBO-BASIC y los programas en Atari BASIC pueden hacerse correr entre 10 a 15 veces ms rpido. Desafortunadamente, al igual que el TURBO-BASIC, el TURBO COMPILADOR funciona slo en la serie de computadores XL/XE. Igualmente, los programas compilados se ejecutan solamente en la serie XL/XE. El TURBO COMPILADOR es muy sencillo de operar y se puede usar con ms de una disquetera, incluso con el disco D8:, que es el disco RAM de los 130 XE. Encontrars varios archivos en el disquete de Turbo-BASIC/COMPILADOR. Los programas para usar con el TURBO COMPILADOR son COMPILER.COM y RUNTIME.COM. Antes de comenzar debes preparar dos disquetes. El primero debe ser un disco vaco, formateado, con los ficheros DOS.SYS y DUP.SYS escritos en l. En el segundo disquete debes poner el programa BASIC (Turbo-BASIC o Atari BASIC) que quieres compilar. Para comenzar, inserta el disquete con el TURBO COMPILADOR en la disquetera y enciende tu computador. Cuando haya terminado de cargarse estars en Turbo-BASIC. Teclea DOS [RETURN] para entrar en el men del DOS 2.5. Elige la opcin L del DOS (cargar fichero binario) y carga COMPILER.COM. Despus de un momento vers una pantalla llena de palabras en alemn. Si no puedes leer alemn, no te preocupes, para eso escrib este artculo!. En cualquier momento que ests en esta pantalla, podrs reinicializar {rebootear} tu sistema presionando [Control][R] o puedes volver al DOS presionando [Control][D]. Se te preguntar si realmente quieres hacer eso. Si es as, no olvides teclear J porque Si en alemn es Ja! Para compilar tus programas, saca el disco del TURBO COMPILADOR de la disquetera e inserta el disco con el programa que quieres compilar. (Si tienes dos disqueteras, inserta tu disco con el programa a compilar en la disquetera D2: y el disco vaco, formateado con DOS en la disquetera D1:). Presiona la tecla con el nmero 1 (o el nmero 2 si tienes 2 disqueteras). En la pantalla aparecer una lista completa de todos los ficheros del disquete correspondiente, con uno de los archivos destacado en vdeo inverso. Usando las teclas con flecha, destaca el archivo que quieres compilar y presiona la tecla [RETURN]. Eso es todo lo que tienes que hacer!. En el extremo superior de la pantalla, vers volar los nmeros de lnea a medida que el programa se va compilando. Cuando est terminado, te pedir un nombre de archivo con el que se grabar el programa compilado. Tiene que tener una extensin CTB (Compiled Turbo Basic). El compilador no te permitir usar ninguna otra extensin. En este momento, si slo tienes 1 disquetera, debes sacar el disquete que tiene tu programa BASIC original y poner el disquete vaco formateado con DOS. Si quieres que tu programa sea de autocarga debes ponerle el nombre de AUTORUN.CTB. As el programa se cargar y ejecutar automticamente el momento de inicializar el computador. Hay un paso ms que debes seguir para hacer que tu programa compilado sea totalmente funcional. Debes ir DOS y copiar el fichero RUNTIME.COM que est en el disquete con el TURBO COMPILADOR hacia el disco en que grabaste el programa compilado. Cambia el nombre de RUNTIME.COM a AUTORUN.SYS. Ahora s, tu disco est listo para funcionar. Inicializa {bootea} con el disco que has preparado y sera todo! El TURBO COMPILADOR no genera cdigo que sea ejecutable independientemente, por eso se debe cargar primero el programa RUNTIME.COM para que funcione el programa compilado. Si al programa BASIC compilado no le pusiste el nombre AUTORUN, se puede cargar desde el programa RUNTIME.COM usando L cuando aparezca un aviso en la pantalla. En este punto tambin puedes ejecutar nuevamente un programa que ha finalizado o ha salido hacia el DOS. Una nota tcnica sobre el TURBO COMPILADOR. Si no ests familiarizado con otros compiladores para los computadores Atari, deberas saber que muchos tienen problemas compilando cierto tipo de sentencias o insisten en que organices la estructura de tu programa de una manera determinada. Hasta ahora muy pocos de aquellos problemas han ocurrido en cualquiera de los programas que hemos probado con el TURBO COMPILADOR. Las nicas sentencias que no pudieron compilarse hasta ahora son las instrucciones END y NEW. La nica estructura de programa con la que hemos tenido problemas es un bucle FOR-NEXT que tena dos o ms NEXT para un FOR. Por ejemplo: 10 FOR X =1 TO 5 20 IF X=3 THEN NEXT X 30 NEXT X Aparte de aquellos dos ejemplos, no hemos tenido problemas compilando ningn tipo de programas, sean Turbo-BASIC o Atari BASIC. Si el compilador encuentra un problema, indicar el tipo de falla y el nmero de lnea. Simplemente, revsalo y trata de re-escribir esa parte del programa de modo diferente. No te desanimes, ningn compilador (se la) puede con todos y cada uno de los programas!

-11-

EMBELLECEDOR DE TEXTO 1.0


Por Dave Yearke
El embellecedor de texto {Text Tidier} se dise para eliminar gran parte del proceso de edicin que requieren los archivos descargados de servicios tales como CompuServe. Frecuentemente aquellos archivos tienen un exceso de espacios para hacer justificacin del texto, agregan un avance de carro en cada lnea y todo tipo de otras cosas molestas que deben ser eliminadas. Los tipos de archivos ms molestos son aquellos que usan la combinacin [CONTROL][J] [CONTROL][M] como avance de lnea y retorno de carro. Esto est bien para las mquinas MS-DOS, pero nuestros Ataris usan un carcter totalmente diferente. En su forma ms simple, el embellecedor le quita los avances de lnea [CONTROL][J] y cambia los retornos de carro ASCII [CONTROL][M] por retornos ATASCII (cdigo 155). Tambin fracciona el fichero en piezas ms pequeas que puedan caber dentro de un procesador de texto como AtariWriter (AW1 ) o PaperClip (PC2). Yo he descargado archivos que pesaban ms de 100 KB, demasiado grandes como para caber en cualquier procesador de texto para Atari! Al ejecutarse, lo primero que pregunta el programa es el tamao mximo de los archivos de salida. 12.000 bytes est muy bien para AW1, si bien esto depende de qu DOS se est usando y si en memoria tienes cargado algn controlador de impresin {printer driver}, etc. He encontrado que en mi XL, PC 2 puede manejar unos 24.000 bytes, pero recomendara alrededor de 20.000 para dejar espacio que permita editar el archivo. Lo prximo que pedir el programa es el fichero de entrada. Pon el disquete en la disquetera y escribe el nombre del archivo de entrada. Si no lo precedes de un nombre dispositivo como D:, el programa automticamente buscar el fichero en la disquetera D1: . Todos los archivos de salida llevarn el nombre SPLIT.0xx, donde xx es el nmero del fichero que se est escribiendo, comenzando desde el 00. Ten cuidado de no sobreescribir ningn archivo que ya exista y tenga el mismo nombre. Ahora vienen los parmetros de formato del texto. Cuando te solicite {CONVERT RETURN TO SPACE (Y/N)} CONVERTIR RETORNO (de carro) EN ESPACIO (Si/No) responde con Y si deseas que convierta todos los retornos de carro. Es lo que debes hacer si deseas reformatear el texto en el procesador de texto. Esta opcin slo convierte retornos individuales. Si encuentra ms de un retorno de carro seguido, se los salta pues presume que se trata de una separacin entre prrafos. La opcin siguiente {TIDY UP SPACING (Y/N)}, probablemente es la ms poderosa. Se har cargo de los espacios mltiples entre las palabras, los espacios extra, los espacios antes del retorno de carro, convierte el carcter ASCII de tabulacin [CONTROL][I] en 5 espacios, y se asegura que haya 2 espacios despus de todos los puntos, los dos puntos, los signos de interrogacin y de exclamacin. Tambin se asegura que haya un espacio despus de cada coma, aunque tenga que agregrselo. Una nota: no agregar espacios a un punto que no tenga espacios a su alrededor, porque no puede decidir si es parte de un nmero decimal. La prxima opcin {PROMPT BEFORE WRITING Y/N} o PREGUNTAR ANTES DE GRABAR SI/NO, deberas contestarla con Y cuando vayas a alternar disquetes para lectura y escritura, y responder N para continuar sin interrupciones. {BREAK FILES ON SPACE (Y/N)} o DIVIDIR ARCHIVOS EN CASO DE UN ESPACIO (Si/No) simplemente se asegura que la ltima palabra de un bloque no ser dividida y repartida en 2 ficheros diferentes. Puede que esto no funcione si la ltima palabra leda antes de grabar tiene ms de 15 caracteres, pero esto es muy poco frecuente. La ltima opcin es una conveniencia para los que usan los procesadores AW1 o PC 2. Si seleccionas A o P, se grabar la instruccin encadenar con el prximo archivo {chain next file} al final de cada fichero resultante, exceptuando el ltimo. Asimismo, pondr un smbolo de prrafo donde considere apropiado y convertir el carcter ASCII de alimentacin de formulario {formfeed} [CONTROL][L] en su equivalente AW1 o PC2. Si seleccionas N (ninguna), los prrafos sern indentados con cinco espacios y los avances de formulario {formfeeds} quedarn tal como estaban. A propsito, el programa slo permite cdigos de carcter dentro del rango 26 a 127, ms CR (13) y FF (12). A los caracteres con un valor ms alto que 127 se les quita el bit alto {high bit} para convertirlos en caracteres normales, en tanto que se ignoran los caracteres de control. Si quieres permitir los caracteres en vdeo inverso y los caracteres de control cambia la lnea 215 a: 215 REPEAT: GET #1,N: UNTIL (N< >LF) Esto slo filtrar los caracteres de avance de lnea. Potencialmente podra producir un problema con archivos ASCII verdaderos; los caracteres de control pueden tener significados extraos, y los ASCII reales no permiten cdigos de carcter mayores de 127. Si tienes alguno, seguramente se trata de un error de transmisin. Este programa fue escrito por necesidad, pero fue muy entretenido hacerlo. Espero que tambin lo encuentres til.

OTROS PROGRAMAS EN ESTE DISCO:


MAGIC.TUR Es un programa de dibujo, similar al Koala, escrito en Turbo-BASIC. PMMOVE.TUR y PUTGET.TUR Son dos programas demostrativos que exhiben algo del poder del Turbo-BASIC.

-12-

RESUMEN DE INSTRUCCIONES
! # $ %0 %1 %2 %3 %PUT %GET & *L *F *B BGET BLOAD BPUT BRUN CIRCLE CLOSE CLS DEC DEL DELETE DIM DIR DIV DO DPEEK DPOKE DSOUND DUMP ELSE ENDIF ENDPROC ERL ERR EXEC EXIT n ! # nombre $nnnn constante constante constante constante %PUT #n, a %GET #n, A n& *L *L *F (o *F+) *B (o *B+) *B BGET #n,direccin,largo BLOAD D:nombre BPUT #n,direccin,largo BRUN D:nombre CIRCLE x,y,r CIRCLE x,y,r,r2 CLOSE CLS CLS #6 DEC(a$) DEL n,i DELETE D:nombre DIM a(n) DIR DIR Dn:*.* n DIV i DO DPEEK(m) DPOKE m, v DSOUND n,f,d,v DSOUND DUMP DUMP nombre ELSE ENDIF ENDPROC ERL ERR EXEC nombre EXIT EXOR FCOLOR FILLTO FRAC GET GO# GO TO HEX$ INKEY$ INPUT INSTR LIST LOCK LOOP MOD MOVE -MOVE ON PAINT PAUSE POP PROC PUT RAND RENAME RENUM REPEAT RESTORE RND SOUND TEXT TIME TIME$ TRACE TRAP TRUNC UINSTR UNLOCK UNTIL WEND WHILE n EXOR FCOLOR n FILLTO x,y FRAC(a) GET nombre GO# nombre GO TO n HEX$(n) INKEY$ INPUT texto;a,b INSTR (x$,a$) INSTR (x$,a$,i) LIST n, LOCK D:nombre LOOP n MOD i MOVE m,m1,m2 -MOVE m,m1,m2 ON a EXEC n1,n2, ON a GO# n1,n2, PAINT x,y PAUSE n POP PROC nombre PUT n RAND(n) RENAME D:viejo,nuevo RENUM n,i,j REPEAT RESTORE #nombre RND SOUND TEXT x,y,a$ TIME TIME$ TRACE TRACE TRAP #nombre TRUNC(a) UINSTR(x$,a$) UINSTR(x$,a$,i) UNLOCK D:nombre UNTIL <c> WEND WHILE <c>

-13-

You might also like