User Guide

6.b. Referencia de comandos
Esta tabla es una lista de los comandos y palabras usadas en el lenguaje de scripts de Maestro. La
columna “efecto” especifica cuantos números de pila consumen y que se añaden a la pila. Por
ejemplo el comando PLUS coge dos números y devuelve uno; luego el “efecto” en la pila será -2+1.
Los comandos con efectos especiales se marcan con *.
palabras efecto descripción
BEGIN nada Marca el principio del bucle
ENDIF nada Finaliza un bloque condicional IF…ENDIF
ELSE nada Empieza un bloque alternativo en IF…ELSE…ENDIF
GOTO label nada Salta a la etiqueta label (definida con label:)
IF -1
Entra en un bloque condicional y el argumento es
verdadero (no-cero) en IF…ENDIF o IF…ELSE…ENDIF
REPEAT nada Marca el final de un bucle
SUB name nada Define una subrutina de nombre name
WHILE -1
Salta al final del bucle si el argumento es falso
(cero)
De control efecto descripción
QUIT nada Para el script
RETURN nada Final de subrutina
De tiempo efecto descripción
DELAY -1 Retardo en ms
GET_MS +1 Valor actual del timer en ms (entre 32767 a -32768)
De pila efecto descripción
DEPTH +1 Recoge el cantidad de números de la pila
DROP -1 Remueve el numero superior de la pila
DUP +1 Duplica el numero superior
OVER +1
Duplica el numero siguiente al superior copiando sobre
el superior
PICK -1,+1
takes a number n, then puts the nth number below the
top onto the stack (0 PICK is equivalent to DUP)
SWAP a,b → b,a Intercambia los dos números superiores
ROT a,b,c → b,c,a
Permuta los tres números superiores en el orden
descrito
ROLL -1,*
takes a number n, then permutes the top n+1 numbers so
that the n+1th becomes the top and all of the others
move down one
PEEK -1,+1
Mini Maestro 12, 18, y 24 solo) takes a number n, then
copies the nth value on the stack (medido desde abajo)
to the top of the stack
POKE -2,+1
Mini Maestro 12, 18, y 24 solo) takes a number n, then
removes the next value from the stack and puts it at
the nth location on the stack (medido desde abajo)
Comandos matemáticos (unitarios)
Estos comandos cogen un argumento simple de la parte superior de la pila y devuelven un valor
simple como resultado. Algunos tienen equivalencia en C (y en otros lenguajes), como vemos en la
columna “en C”. Usamos “falso” equivale a 0 y “verdadero” equivale a cualquier valor que no lo
sea. El comando “verdadero” siempre devuelve 1.
Comando Equivale en C descripción
BITWISE_NOT ~ Invierte todos los bits del argumento
LOGICAL_NOT ! Reemplaza verdadero con falso, falso con verdadero
NEGATE Reemplaza x por -x
POSITIVE nada Verdadero solo si el argumento es mayor de 0
NEGATIVE nada Verdadero solo si el argumento es menor de 0
NONZERO nada Verdadero (1) solo si el argumento es “no-cero”
28