Conjunto de instrucciones:

// comentario
@ etiqueta label
nop no ejecuta ninguna operación, a excepción de las operaciones laterales de los parámetros (como por ejemplo core_c+)

flash vaciar todos los casilleros de los tres registros generales
flash0 vaciar todos los casilleros de reg0
flash1 vaciar todos los casilleros de reg1
flash2 vaciar todos los casilleros de reg2
set0 asignar valor al casillero 0
set1 asignar valor al casillero 1
set2 asignar valor al casillero 2
set0+ asignar valores múltiples desde el casillero 0 actual ocupando los siguientes bloques
set1+ asignar valores múltiples desde el casillero 1 actual ocupando los siguientes bloques
set2+ asignar valores múltiples desde el casillero 2 actual ocupando los siguientes bloques
p0 cambiar el número de casillero 0
p1 cambiar el número de casillero 1
p2 cambiar el número de casillero 2
mode0 cambiar el tipo de dato en casillero 0
mode1 cambiar el tipo de dato en casillero 1
mode2 cambiar el tipo de dato en casillero 2
mode cambiar el tipo de datos de los tres registros

cachesave0 guardar todos los casilleros del registro 0 en el bloque caché indicado
cachesave1 guardar todos los casilleros del registro 1 en el bloque caché indicado
cachesave2 guardar todos los casilleros del registro 2 en el bloque caché indicado
cacheload0 recuperar el bloque de caché indicado en el registro 0
cacheload1 recuperar el bloque de caché indicado en el registro 1
cacheload2 recuperar el bloque de caché indicado en el registro 2

parse0 dividir el valor del casillero 0 usando el caracter indicado como separador
parse1 dividir el valor del casillero 1 usando el caracter indicado como separador
parse2 dividir el valor del casillero 2 usando el caracter indicado como separador
explode0 separar cada carácter de texto del registro 0 en un casillero de dicho registro
explode1 separar cada carácter de texto del registro 1 en un casillero de dicho registro
explode2 separar cada carácter de texto del registro 2 en un casillero de dicho registro

tobyte0 transforma todos los casilleros de texto de reg0 en su equivalente en bytes
tobyte1 transforma todos los casilleros de texto de reg1 en su equivalente en bytes
tobyte2 transforma todos los casilleros de texto de reg2 en su equivalente en bytes
todata0 transforma todos los casilleros de bytes de reg0 en su equivalente en texto
todata1 transforma todos los casilleros de bytes de reg1 en su equivalente en texto
todata2 transforma todos los casilleros de bytes de reg2 en su equivalente en texto

input para la ejecución hasta que el usuario introduzca datos
busout envía la pareja de datos indicada a través del bus requerido
set asigna valor a una palabra clave en la memoria de pares o crea una nueva
get sitúa en reg2 el valor de la palabra clave requerida
set+ guarda como lista todos los valores indicados en los parámetros
get+ recupera todos los valores de la lista indicada en reg2 
unset elimina la palabra clave indicada y su valor de la memoria de pares
debug escribe el texto indicado en la consola de debug

jump salta hasta la etiqueta indicada
jif_match salta hasta la etiqueta indicada si reg0 es igual a reg1
jif_max salta hasta la etiqueta indicada si reg0 es mayor que reg1
jif_less salta hasta la etiqueta indicada si reg0 es menor que reg1
jif salta hasta la etiqueta indicada si reg0 es igual que el valor true o 1
call llama al procedimiento de usuario indicado
return termina el procedimiento de usuario actual y vuelve al lugar desde el que fue llamado
hardstop para definitivamente la ejecución de la máquina
pause para la ejecución de la máquina hasta recibir la señal de control run

while inicia el modo bucle mientras la variable introducida sea true booleano
loop indica el final de un bucle while, saltará hasta el inicio solo si se cumple la condición
foreach inicia el modo bucle para cada uno de los casilleros de reg0
next pasa al siguiente casillero de reg0 para continuar con el bucle

suma suma reg1 a reg0 y lo guarda en reg2, si uno de los dos registros es str concatenará en lugar de sumar
resta resta reg1 a reg0 y lo guarda en reg2
mult multiplica reg0 y reg1 y lo guarda en reg2
div divide reg0 entre reg1 y lo guarda en reg2
rand genera un número aleatorio comprendido entre reg0 y reg1

and efectua la operación boleana and sobre reg0 y reg1 y guarda el resultado en reg2
or efectua la operación boleana or sobre reg0 y reg1 y guarda el resultado en reg2
not guarda en reg2 el valor boleano contrario a reg1

// :: obsoleto :: //
setc definir el valor numérico del contador
csum sumar el valor al contador
csub restar el valor del contador
minc definir valor mínimo del contador en modo loop
maxc definir valor máximo del contador en modo loop
loopc activar (1) o desactivar (0) el contador en modo loop
// :: obsoleto :: //
 





Leave a Reply.


Abdab software