63 nibble &= 0xffff >> (16 -
len);
80 ret_param.
param[0] = nibble;
83 ret_param.
param[0] = nibble >> 4;
84 ret_param.
param[1] = nibble & 0xf;
112 ut16 reg = (opcode >> 4) & 0xf;
118 ut16 d = opcode & 0xf;
119 ut16 n = (opcode >> 8) & 0xf;
153 RZ_LOG_DEBUG(
"SuperH: Invalid opcode encountered by disassembler: 0x%06x\n", opcode);
172 switch (param.
mode) {
RZ_API void Ht_() free(HtName_(Ht) *ht)
static const char * sh_registers[]
#define rz_warn_if_reached()
#define rz_return_val_if_fail(expr, val)
#define RZ_LOG_DEBUG(fmtstr,...)
RZ_API RZ_OWN char * rz_strbuf_drain(RzStrBuf *sb)
RZ_API bool rz_strbuf_append(RzStrBuf *sb, const char *s)
RZ_API RzStrBuf * rz_strbuf_new(const char *s)
RZ_API bool rz_strbuf_appendf(RzStrBuf *sb, const char *fmt,...) RZ_PRINTF_CHECK(2
RZ_IPI RZ_OWN SHOp * sh_disassembler(ut16 opcode)
Disassemble opcode and return a SHOp.
RZ_IPI RZ_OWN char * sh_op_param_to_str(SHParam param, SHScaling scaling, ut64 pc)
Return string representation of disassembled param.
static SHParam sh_op_get_param(ut16 opcode, SHParamBuilder shb)
Get SHParam from opcode Make sure the opcode is passed in little-endian form.
const SHOpRaw sh_op_lookup[]
RZ_IPI RZ_OWN char * sh_op_to_str(RZ_NONNULL const SHOp *op, ut64 pc)
Return string representation of disassembled op.
static SHParam sh_op_get_param_movl(ut16 opcode, bool m)
Get params for mov.l instruction (0001NMD) A special function is required because the nibbles for the...
enum sh_scaling_t SHScaling
static const ut8 sh_scaling_size[]
@ SH_IMM_S
8-bit immediate value (sign-extended)
@ SH_REG_INDIRECT_DISP
register indirect with displacement
@ SH_REG_INDIRECT_INDEXED
indexed register indirect
@ SH_REG_INDIRECT_I
register indirect with post-increment
@ SH_IMM_U
8-bit immediate value (zero-extended)
@ SH_REG_INDIRECT_D
register indirect with pre-decrement
@ SH_GBR_INDIRECT_INDEXED
const char * str_mnem
string mnemonic
SHScaling scaling
scaling for the opcode
SHOpMnem mnemonic
enum mnemonic
SHParamBuilder param_builder[2]
param builders for the params
ut8 start
start bit of the param (assuming little-endian)
SHAddrMode mode
addressing mode being used
st8 bits
bits to be read (-1, if you want this to be inferred from mode)
struct sh_param_builder_addr_t addr
bool is_param
whether a param was directly passed
Definitions common to the whole liblzma library.
ut64(WINAPI *w32_GetEnabledXStateFeatures)()