@ -2093,6 +2093,16 @@
; regs-de-act (se elimina el ultimo de ellos), cont-prg (pasa a ser el ultimo valor en la pila) y pila (se quita de ella el nuevo cont-prg).
; regs-de-act (se elimina el ultimo de ellos), cont-prg (pasa a ser el ultimo valor en la pila) y pila (se quita de ella el nuevo cont-prg).
RETN ( recur cod ( pop regs-de-act ) ( last pila ) ( pop pila ) mapa-regs )
RETN ( recur cod ( pop regs-de-act ) ( last pila ) ( pop pila ) mapa-regs )
; CHR: Incrementa cont-prg en 1, quita de la pila dos elementos (un string y un indice), selecciona el char del string indicado por el indice y lo coloca al final de la pila.
CHR ( let [
next_cont_prg ( inc cont-prg ) ,
args ( take-last 2 pila ) ,
s ( first args ) ,
idx ( second args ) ,
ch ( nth s idx )
next_pila ( conj ( vec ( drop-last 2 pila ) ) ch ) ,
] ( recur cod regs-de-act next_cont_prg next_pila mapa-regs )
)
)
)
)
)
)
)