Ver el código de Instrucciones del Basic

Guía rápida de los comando del lenguaje ATARI BASIC

{{toc numerate=1}}

===Sentencias de programa===

#|
*|Comando|Abreviación o ejemplo |Comentario|*
||BYE|B.|Sale del BASIC. En los modelos 400/800, va al MEMO PAD. En los modelos XL/XE, va al SELF TEST.||
||CLR|CLR|Borra todas las variables.||
||CONT|CON.|Continúa la ejecución del programa.||
||DIM|DI. A$(30)	
DI. B(17, 3)|
Reserva 30 bytes para la variable A$.
Define un arreglo B de 18 filas por 4 columnas.||
||END|END|Fin del programa. Cierra los archivos y apaga los sonidos.||
||LET|LE. X = 2|Define una variable X y le asigna el valor 2.||
||LIST|L.
L. 400,500
|Lista un programa por pantalla.
Lista un programa, desde la línea 400 hasta la línea 500.||
||NEW|NEW|Borra el programa de la memoria del computador.||
||POKE|POK. 752,1|Escribe el valor 1 en la dirección de memoria 752.||
||REM|R. comentario|Permite escribir comentarios.||
||RUN|RU.|Comienza la ejecución del programa.||
||STOP|STO.|Detiene la ejecución del programa, sin cerrar los archivos.||
|#

===Sentencias de bifurcación ===

#|
*|Comando|Abreviación o ejemplo |Comentario|*
||FOR, TO|F. X=3 TO 9 STEP 2|Ejecuta un ciclo repetitivo. 3, 9 y 2 pueden ser expresiones aritméticas.||
||STEP/NEXT|N. X| ||
||GOSUB
RETURN
|100 GOS. 300
300 ?
400 RET.
|RETURN vuelve a la sentencia que sigue a los dos puntos.||
||GOTO|G. X|Va a la línea X, donde X puede ser una variable o un número de línea.||
||IF/THEN|IF Y=5 THEN 500
IF X=6 THEN Y=6
|Bifurcación condicional. Si la condición se cumple, se ejecuta lo que viene a continuación del THEN. En caso contrario, pasa a la  línea siguiente.||
||ON/GOSUB|ON X GOSUB 20,30,40|Si X<1 ó X>3, pasa a la línea siguiente.||
||ON/GOTO|ON X GOTO 50,60,70|Si X=1, va a línea 50. Si X=2, va a la línea 60. Y si X=3, va a la línea 70.||
||POP|POP|Se usa cuando el RETURN no se ejecuta.||
||TRAP|T. 200|Va a la línea 200 si se produce un error.||
|#

===Comandos de entrada y de salida===

#|
*|Comando|Abreviación o ejemplo |Comentario|*
||CLOAD|CLOA.|Carga un programa desde el cassette.||
||CLOSE|CL. #2|Cierra un archivo.||
||CSAVE|CS.|Graba un programa en cassette.||
||DOS|DO.|Despliega el menú del DOS.||
||ENTER|E. "D1:PROG1"|Carga un programa grabado con LIST.||
||INPUT|I. Y$|Recibe datos desde el teclado.||
||LIST|L. "D1:PROG1"|Graba un programa en formato ATASCII.||
||LOAD|LO. "D1:PR2"|Carga un programa grabado con SAVE.||
||LPRINT|LP. X|Imprime una línea en la impresora.||
||NOTE|NO. #2,5,B|Detecta el sector (5) del byte (B) dentro de un archivo.||
||OPEN|O. #2,4,0,"D1:T2X"|Abre un archivo, según: 
4=Entrada,  6=Directorio, 8=Salida, 9=Agrega y 12=Entrada/Salida.||
||POINT|P. #3,5,B|Ubica el sector (5) del byte (B) dentro de un archivo.||
||PRINT|? A,B; "HOLA"|Imprime por pantalla. Con coma imprime tabulado, y con punto y coma imprime seguido.||
||PUT/GET|PU. #6,Y 
GE. #6,Y
|Coloca en un dispositivo el byte almacenado en la variable Y. 
Lee un byte desde un dispositivo y lo almacena en la variable Y.||
||READ|READ. A,B|Asigna a las variables A y B los datos almacenados en líneas DATA.||
||DATA|D. 5, 8|Almacena los valores que serán leídos por el comando READ.||
||RESTORE|RES. 350|350 es el número de línea DATA para la siguiente instrucción READ.||
||SAVE|S. "D1:PROG3"|Graba un programa en diskette.||
||STATUS|ST. #3,A|Coloca en la variable A el valor del estado del archivo abierto con el dispositivo #3.||
||XIO|XIO cmdno,#5,aux1,aux2,"S:"|Ver códigos del comando ((CódigodelXIO XIO)).||
|#

===Funciones aritméticas===

#|
*|Comando|Abreviación o ejemplo |Comentario|*
||ABS|Y = ABS(X)|Valor absoluto de X||
||CLOG|Y = CLOG(X)|Logaritmo en base 10 de X||
||EXP|Y = EXP(X)|Exponencial de X. ex||
||INT|Y = INT(X)|Valor entero de X||
||LOG|Y = LOG(X)|Logaritmo natural de X||
||RND|Y = RND(X)|Número aleatorio entre 0 y 1||
||SGN|Y = SGN(X)|Evalúa el signo. Y = —1,0, + 1||
||SQR|Y = SQR(X)|Raíz cuadrada de X||
|#

===Funciones trigonométricas===

#|
*|Comando|Abreviación o ejemplo |Comentario|*
||ATN|Y = ATN(X)|Arcotangente de X||
||COS|Y = COS(X)|Coseno de X||
||SIN|Y = SIN(X)|Seno de X||
||DEG/RAD|DEG|Grados o radianes||
|#

===Funciones especiales===

#|
*|Comando|Abreviación o ejemplo |Comentario|*
||ADR|Y = ADR(Y$)|Dirección de memoria del string Y$||
||FRE|? FRE(0)|Memoria libre en bytes||
||PEEK|Y = PEEK(X)|Contenido de memoria en dirección X||
||USR|Y = USR(X)|Resultado de un programa en lenguaje de máquina que está en la dirección de memoria X||
|#

Funciones de string (cadenas)

#|
*|Comando|Abreviación o ejemplo |Comentario|*
||ASC|Y = ASC(X$)|Valor ASCII del primer byte de X$||
||CHR$|Y = CHR$(X)|Carácter con valor ASCII de X||
||LEN|Y = LEN(X$)|Largo del string X$ en bytes||
||STRS|Y$ = STR(X)|Convierte a string el numero X||
||VAL|Y = VAL(X$)|Convierte a número el string X$||
||substring|Y = X$(5,8)|Y$ contiene desde el quinto hasta el octavo carácter de X$||
|#

===Sentencias gráficas y de sonido ===

#|
*|Comando|Abreviación o ejemplo |Comentario|*
||GET|GE. #6,A|Ingresa un byte en A desde la pantalla||
||GRAPHICS|GR. 7|Modo gráfico a utilizar (0, 1, ... 15)||
||COLOR|C. 3|Número de color para PLOT o DRAWTO||
||DRAWTO|DR. X,Y|Dibuja hasta la coordenada X, Y||
||LOCATE|LOCATE X,Y,A|Coloca en A el número de COLOR que hay en la coordenada X, Y||
||PLOT|PL. X,Y|Dibuja un punto en la coordenada X, Y||
||POSITION|POS. X,Y|Posiciona el cursor en la coordenada X, Y||
||PUT|PU. #6,A|Coloca el byte A en pantalla||
||SETCOLOR|SE. 1,2,4|Registro de color, matiz, luminosidad||
||SOUND|SO. 1,100,10,4|Voz (0, 3), tono (0-255), distorsión (0-14 par), volumen (0-15)||
||XIO|X. 18,46,0,0,"S:"|Rellena un área con el color almacenado en la posición de memoria 765||
|#

===Sentencias de controles===

#|
*|Comando|Abreviación o ejemplo |Comentario|*
||PADDLE|Y = PADDLE(X)|X=0 a 3,Y=0 a 228||
||PTRIG|Y = PTRIG (X)|X = 0 a 3, Y = 0 (botón presionado)
Y = 1 (botón sin presionar)||
||STICK|Y = STICK(X)|X =0 ó 1,Y = ver JOYSTICK||
||STRIG|Y = STRIG(X)|X =0 ó 1, Y = 0 (botón presionado)
Y = 1 (botón sin presionar)||
|#