From 4e4ea4416fe7b6afd7c54f86bcb1a2a2321933e2 Mon Sep 17 00:00:00 2001 From: CrossNox Date: Tue, 29 Nov 2022 05:51:09 -0300 Subject: [PATCH] agrego flush --- src/rustint/core.clj | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/rustint/core.clj b/src/rustint/core.clj index 3fac239..496f1de 100644 --- a/src/rustint/core.clj +++ b/src/rustint/core.clj @@ -2010,6 +2010,17 @@ (recur cod regs-de-act (inc cont-prg) nueva_pila mapa-regs) ) + ; ABS: Incrementa cont-prg en 1, quita de la pila un elemento numerico, calcula su valor absoluto y lo coloca al final de la pila. + ABS (let [ + res (Math/abs (last pila)), + nueva_pila (assoc pila (- (count pila) 1) res) + ] + (recur cod regs-de-act (inc cont-prg) nueva_pila mapa-regs) + ) + + ; FLUSH: Purga la salida e incrementa cont-prg en 1. + (do (flush) (recur cod regs-de-act (inc cont-prg) pila mapa-regs)) + ) )