repiola 0.6: jump a direcciones, call, ret y compilacion
para darle un cierre a esta idea que tuve alguna vez, implemente lo que faltaba para considerar el proyecto "terminado", lo unico que puede llegar a faltar es UIs mas copadas (como guardar programas etc.)
en esta release agregue soporte para saltar a una direccion almacenada en un registro:
set r2 2
jmp r2
salta a la direccion 2
call y ret permiten simular rutinas, call empuja el instruction pointer al stack y salta al label especificado, ret saca la direccion del stack y salta a ella:
jmp begin
: donothing
ret
: begin
call donothing
con estas features ya no hay muchas cosas que no se puedan hacer.
y para cerrar ahora cuando ejecutas un programa lo compila a bytecode y despues la maquina virtual ejecuta el bytecode directamente, hasta ahora las instrucciones eran compiladas a bytecode pero el manejo de los saltos era manejado por la clase Interpreter.
esto da una mejora de velocidad considerable para mi pobre celular (el mas barato con j2me :D)
en la pagina http://code.google.com/p/repiola/ se encuentran los jars y documentacion de todas las instrucciones.