diff --git a/src/rustint/core.clj b/src/rustint/core.clj index 876b230..733355e 100644 --- a/src/rustint/core.clj +++ b/src/rustint/core.clj @@ -1882,6 +1882,10 @@ POPSUB (let [res (asignar-aritmetico regs-de-act pila reg-actual fetched -)] (if (nil? res) res (recur cod res (inc cont-prg) (vec (butlast pila)) mapa-regs))) + ; POPMUL: Como POPADD, pero multiplica. + POPMUL (let [res (asignar-aritmetico regs-de-act pila reg-actual fetched *)] + (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]