|
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().