Rizin
unix-like reverse engineering framework and cli tools
|
#include "ansidecl.h"
Go to the source code of this file.
Classes | |
struct | sparc_opcode_arch |
struct | sparc_opcode |
Macros | |
#define | SPARC_OPCODE_ARCH_MAX (SPARC_OPCODE_ARCH_BAD - 1) |
#define | SPARC_OPCODE_ARCH_MASK(arch) (1 << (arch)) |
#define | SPARC_OPCODE_ARCH_V9_P(arch) ((arch) >= SPARC_OPCODE_ARCH_V9) |
#define | SPARC_OPCODE_SUPPORTED(ARCH) (sparc_opcode_archs[ARCH].supported) |
#define | SPARC_OPCODE_CONFLICT_P(ARCH1, ARCH2) (((SPARC_OPCODE_SUPPORTED(ARCH1) & SPARC_OPCODE_SUPPORTED(ARCH2)) != SPARC_OPCODE_SUPPORTED(ARCH1)) && ((SPARC_OPCODE_SUPPORTED(ARCH1) & SPARC_OPCODE_SUPPORTED(ARCH2)) != SPARC_OPCODE_SUPPORTED(ARCH2))) |
#define | F_DELAYED 1 /* Delayed branch. */ |
#define | F_ALIAS 2 /* Alias for a "real" instruction. */ |
#define | F_UNBR 4 /* Unconditional branch. */ |
#define | F_CONDBR 8 /* Conditional branch. */ |
#define | F_JSR 16 /* Subroutine call. */ |
#define | F_FLOAT 32 /* Floating point instruction (not a branch). */ |
#define | F_FBR 64 /* Floating point branch. */ |
#define | OP2(x) (((x)&0x7) << 22) /* Op2 field of format2 insns. */ |
#define | OP3(x) (((x)&0x3f) << 19) /* Op3 field of format3 insns. */ |
#define | OP(x) ((unsigned)((x)&0x3) << 30) /* Op field of all insns. */ |
#define | OPF(x) (((x)&0x1ff) << 5) /* Opf field of float insns. */ |
#define | OPF_LOW5(x) OPF((x)&0x1f) /* V9. */ |
#define | F3F(x, y, z) (OP(x) | OP3(y) | OPF(z)) /* Format3 float insns. */ |
#define | F3I(x) (((x)&0x1) << 13) /* Immediate field of format 3 insns. */ |
#define | F2(x, y) (OP(x) | OP2(y)) /* Format 2 insns. */ |
#define | F3(x, y, z) (OP(x) | OP3(y) | F3I(z)) /* Format3 insns. */ |
#define | F1(x) (OP(x)) |
#define | DISP30(x) ((x)&0x3fffffff) |
#define | ASI(x) (((x)&0xff) << 5) /* Asi field of format3 insns. */ |
#define | RS2(x) ((x)&0x1f) /* Rs2 field. */ |
#define | SIMM13(x) ((x)&0x1fff) /* Simm13 field. */ |
#define | RD(x) (((x)&0x1f) << 25) /* Destination register field. */ |
#define | RS1(x) (((x)&0x1f) << 14) /* Rs1 field. */ |
#define | ASI_RS2(x) (SIMM13(x)) |
#define | MEMBAR(x) ((x)&0x7f) |
#define | SLCPOP(x) (((x)&0x7f) << 6) /* Sparclet cpop. */ |
#define | ANNUL (1 << 29) |
#define | BPRED (1 << 19) /* V9. */ |
#define | IMMED F3I(1) |
#define | RD_G0 RD(~0) |
#define | RS1_G0 RS1(~0) |
#define | RS2_G0 RS2(~0) |
Typedefs | |
typedef struct sparc_opcode_arch | sparc_opcode_arch |
typedef struct sparc_opcode | sparc_opcode |
Functions | |
enum sparc_opcode_arch_val | sparc_opcode_lookup_arch (const char *) |
int | sparc_encode_asi (const char *) |
const char * | sparc_decode_asi (int) |
int | sparc_encode_membar (const char *) |
const char * | sparc_decode_membar (int) |
int | sparc_encode_prefetch (const char *) |
const char * | sparc_decode_prefetch (int) |
int | sparc_encode_sparclet_cpreg (const char *) |
const char * | sparc_decode_sparclet_cpreg (int) |
Variables | |
const struct sparc_opcode_arch | sparc_opcode_archs [] |
const struct sparc_opcode | sparc_opcodes [] |
const int | sparc_num_opcodes |
#define F_FLOAT 32 /* Floating point instruction (not a branch). */ |
#define SPARC_OPCODE_ARCH_MAX (SPARC_OPCODE_ARCH_BAD - 1) |
#define SPARC_OPCODE_ARCH_V9_P | ( | arch | ) | ((arch) >= SPARC_OPCODE_ARCH_V9) |
#define SPARC_OPCODE_CONFLICT_P | ( | ARCH1, | |
ARCH2 | |||
) | (((SPARC_OPCODE_SUPPORTED(ARCH1) & SPARC_OPCODE_SUPPORTED(ARCH2)) != SPARC_OPCODE_SUPPORTED(ARCH1)) && ((SPARC_OPCODE_SUPPORTED(ARCH1) & SPARC_OPCODE_SUPPORTED(ARCH2)) != SPARC_OPCODE_SUPPORTED(ARCH2))) |
#define SPARC_OPCODE_SUPPORTED | ( | ARCH | ) | (sparc_opcode_archs[ARCH].supported) |
typedef struct sparc_opcode sparc_opcode |
typedef struct sparc_opcode_arch sparc_opcode_arch |
Definition at line 2051 of file sparc-opc.c.
References asi_table, lookup_value(), and value.
Referenced by print_insn_sparc().
Definition at line 2081 of file sparc-opc.c.
References lookup_value(), membar_table, and value.
Referenced by print_insn_sparc().
Definition at line 2115 of file sparc-opc.c.
References lookup_value(), prefetch_table, and value.
Referenced by print_insn_sparc().
Definition at line 2145 of file sparc-opc.c.
References lookup_value(), sparclet_cpreg_table, and value.
Referenced by print_insn_sparc().
Definition at line 2043 of file sparc-opc.c.
References asi_table, and lookup_name().
Definition at line 2073 of file sparc-opc.c.
References lookup_name(), and membar_table.
Definition at line 2107 of file sparc-opc.c.
References lookup_name(), and prefetch_table.
Definition at line 2137 of file sparc-opc.c.
References lookup_name(), and sparclet_cpreg_table.
enum sparc_opcode_arch_val sparc_opcode_lookup_arch | ( | const char * | name | ) |
Definition at line 1 of file sparc-opc.c.
Definition at line 1831 of file sparc-opc.c.
Referenced by print_insn_sparc().
|
extern |
Definition at line 1 of file sparc-opc.c.
|
extern |
Definition at line 1 of file sparc-opc.c.
Referenced by print_insn_sparc().