34 x_mul(1, 2, 3, 4, 5, 6, 7);
void p_movi(unsigned int result, immed_t immed)
(MOV Immediate) R[result] <– immed
void clear_memory()
Reset to 0 all memory items and mark them as not used.
std::uint16_t word16_t
Type for register and memory items.
void x_mul_karatsuba(unsigned int a, unsigned int b, unsigned int tmp1, unsigned int tmp2, unsigned int tmp3, unsigned int tmp4, unsigned int tmp5)
R[b]:R[a] <– R[a] * R[b] by Karatsuba algorithm: https://en.wikipedia.org/wiki/Karatsuba_algorithm.
void x_mul(unsigned int a, unsigned int b, unsigned int tmp1, unsigned int tmp2, unsigned int tmp3, unsigned int tmp4, unsigned int tmp5)
R[b]:R[a] <– R[a] * R[b] by standard algorithm: https://en.wikipedia.org/wiki/Multiplication_algorit...
Instructions set of RiSC16: 8 instructions i_* and 4 pseudo-instructions p_*.
void clear_registers()
Reset to 0 all registers.
void p_halt(bool print)
If print then call println_all()
void println_all()
Print infos, registers and memory (if used).
void clear_nb_executed()
Reset the number of executed instructions.
Extended instructions set: some extra operations x_* implemented with RiSC16.