#pragma once #include namespace weee::core::utils { static inline ircolib::u8 primary(ircolib::u32 instr) { return (instr >> 26) & 0x3f; } static inline ircolib::u8 RD(ircolib::u32 instr) { return (instr >> 21) & 0x1f; } static inline ircolib::u8 RS(ircolib::u32 instr) { return RD(instr); } static inline ircolib::u8 RA(ircolib::u32 instr) { return (instr >> 16) & 0x1f; } static inline ircolib::u16 UIMM(ircolib::u32 instr) { return instr & 0xffff; } static inline ircolib::s16 SIMM(ircolib::u32 instr) { return UIMM(instr); } } // namespace weee::core::utils