VirtualCPU_InstLib.hpp
A specialized version of InstLib to handle VirtualCPU instructions.
-
template<typename HARDWARE_T, typename ARG_T = size_t, size_t ARG_COUNT = 3>
struct VirtualCPU_InstLib : public InstLib<HARDWARE_T, size_t, 3> - #include <VirtualCPU_InstLib.hpp>
A pure-virtual class that defines a series of instructions for VirtualCPU_Base or any of its derived classes.
Public Types
-
using hardware_t = HARDWARE_T
-
using inst_lib_t = InstLib<HARDWARE_T, ARG_T, ARG_COUNT>
-
using this_t = VirtualCPU_InstLib<HARDWARE_T, ARG_T, ARG_COUNT>
-
using inst_t = typename hardware_t::inst_t
-
using nop_vec_t = typename hardware_t::nop_vec_t
Public Static Functions
-
static inline void Inst_NopA(hardware_t&, const inst_t&)
-
static inline void Inst_NopB(hardware_t&, const inst_t&)
-
static inline void Inst_NopC(hardware_t&, const inst_t&)
-
static inline void Inst_Inc(hardware_t &hw, const inst_t &inst)
-
static inline void Inst_Dec(hardware_t &hw, const inst_t &inst)
-
static inline void Inst_If_Not_Equal(hardware_t &hw, const inst_t &inst)
-
static inline void Inst_If_Less(hardware_t &hw, const inst_t &inst)
-
static inline void Inst_Pop(hardware_t &hw, const inst_t &inst)
-
static inline void Inst_Push(hardware_t &hw, const inst_t &inst)
-
static inline void Inst_Swap_Stack(hardware_t &hw, const inst_t&)
-
static inline void Inst_Shift_Right(hardware_t &hw, const inst_t &inst)
-
static inline void Inst_Shift_Left(hardware_t &hw, const inst_t &inst)
-
static inline void Inst_Add(hardware_t &hw, const inst_t &inst)
-
static inline void Inst_Sub(hardware_t &hw, const inst_t &inst)
-
static inline void Inst_Nand(hardware_t &hw, const inst_t &inst)
-
static inline void Inst_IO(hardware_t &hw, const inst_t &inst)
-
static inline void Inst_H_Alloc(hardware_t &hw, const inst_t&)
-
static inline void Inst_H_Divide(hardware_t &hw, const inst_t&)
-
static inline void Inst_H_Copy(hardware_t &hw, const inst_t&)
-
static inline void Inst_H_Search(hardware_t &hw, const inst_t &inst)
-
static inline void Inst_Mov_Head(hardware_t &hw, const inst_t &inst)
-
static inline void Inst_Jmp_Head(hardware_t &hw, const inst_t &inst)
-
static inline void Inst_Get_Head(hardware_t &hw, const inst_t &inst)
-
static inline void Inst_If_Label(hardware_t &hw, const inst_t &inst)
-
static inline void Inst_Set_Flow(hardware_t &hw, const inst_t &inst)
-
using hardware_t = HARDWARE_T