12 lines
578 B
C++
12 lines
578 B
C++
#pragma once
|
|
#include <broadway.hpp>
|
|
|
|
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
|