From e0de8c90d9bae4673228667f4eaf5698f475106c Mon Sep 17 00:00:00 2001 From: CrossNox Date: Tue, 29 Nov 2022 05:55:40 -0300 Subject: [PATCH] agrego popmod --- src/rustint/core.clj | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/rustint/core.clj b/src/rustint/core.clj index 7e4f183..9497839 100644 --- a/src/rustint/core.clj +++ b/src/rustint/core.clj @@ -1890,6 +1890,10 @@ POPDIV (let [res (asignar-aritmetico regs-de-act pila reg-actual fetched dividir)] (if (nil? res) res (recur cod res (inc cont-prg) (vec (butlast pila)) mapa-regs))) + ; POPMOD: Como POPADD, pero calcula el resto de la division. + POPMOD (let [res (asignar-aritmetico regs-de-act pila reg-actual fetched rem)] + (if (nil? res) res (recur cod res (inc cont-prg) (vec (butlast pila)) mapa-regs))) + ; Incrementa cont-prg en 1 y quita el ultimo elemento de pila. El argumento indica en reg-actual las coordenadas [#reg-act, offset] donde sumar el elemento en regs-de-act al llamar recursivamente a interpretar (verificando la compatibilidad de los tipos) ; Por ejemplo: ; fetched: [POPADDREF 2]