rizin/librz/arch/isa/cil/cil_dis.h
wargio d47ceedbd3 Merge rz_asm and rz_analysis into one library but keep deprecated apis.
The tms320c64x has been merged into tms320.
2024-03-07 18:38:49 +08:00

39 lines
846 B
C

// SPDX-FileCopyrightText: 2022 wingdeans <wingdeans@protonmail.com>
// SPDX-License-Identifier: LGPL-3.0-only
#ifndef CIL_ASM_H
#define CIL_ASM_H
#include <rz_util/rz_strbuf.h>
// eg. OPCODE_SINGLE(CIL_OP_NOP, "nop", InlineNone, 0x00, NEXT)
// ->
// enum {
// OPCODE_SINGLE = 0x00,
// ...
// }
#define OPCODE_SINGLE(name, str, param, byte, control) name = byte,
#define OPCODE_DOUBLE(name, str, param, byte, control) name = byte,
#define OPCODE_PREFIX(name, str, param, byte, control) name = byte,
enum {
#include "opcodes_single.def"
#include "opcodes_double.def"
#include "opcodes_prefix.def"
};
#undef OPCODE_SINGLE
#undef OPCODE_DOUBLE
#undef OPCODE_PREFIX
typedef struct {
RzStrBuf strbuf;
int size;
ut8 byte1;
ut8 byte2;
union {
ut32 tok;
st32 target;
};
} CILOp;
int cil_dis(CILOp *op, const ut8 *buf, int len);
#endif