Rizin
unix-like reverse engineering framework and cli tools
|
#include "sysdep.h"
#include "disas-asm.h"
#include "libhppa.h"
#include "opcode/hppa.h"
#include <string.h>
#include <rz_types_base.h>
Go to the source code of this file.
Macros | |
#define | MASK_5 0x1f |
#define | MASK_10 0x3ff |
#define | MASK_11 0x7ff |
#define | MASK_14 0x3fff |
#define | MASK_16 0xffff |
#define | MASK_21 0x1fffff |
#define | GET_FIELD(X, FROM, TO) ((X) >> (31 - (TO)) & ((1 << ((TO) - (FROM) + 1)) - 1)) |
#define | GET_BIT(X, WHICH) GET_FIELD (X, WHICH, WHICH) |
#define | GET_COMPL(insn) |
#define | GET_COND(insn) |
#define | fputs_filtered(STR, F) (*info->fprintf_func) (info->stream, "%s", STR) |
Typedefs | |
typedef unsigned int | CORE_ADDR |
Functions | |
static void | fput_reg (unsigned reg, disassemble_info *info) |
static void | fput_fp_reg (unsigned reg, disassemble_info *info) |
static void | fput_fp_reg_r (unsigned reg, disassemble_info *info) |
static void | fput_creg (unsigned reg, disassemble_info *info) |
static void | fput_const (unsigned num, disassemble_info *info) |
static int | extract_3 (unsigned word) |
static int | extract_5_load (unsigned word) |
static int | extract_5_store (unsigned word) |
static unsigned | extract_5r_store (unsigned word) |
static unsigned | extract_5R_store (unsigned word) |
static unsigned | extract_10U_store (unsigned word) |
static unsigned | extract_5Q_store (unsigned word) |
static int | extract_11 (unsigned word) |
static int | extract_14 (unsigned word) |
static int | extract_16 (unsigned word) |
static int | extract_21 (unsigned word) |
static int | extract_12 (unsigned word) |
static int | extract_17 (unsigned word) |
static int | extract_22 (unsigned word) |
int | print_insn_hppa (bfd_vma memaddr, disassemble_info *info) |
Variables | |
static const char *const | reg_names [] |
static const char *const | fp_reg_names [] |
static const char *const | control_reg [] |
static const char *const | compare_cond_names [] |
static const char *const | compare_cond_64_names [] |
static const char *const | cmpib_cond_64_names [] |
static const char *const | add_cond_names [] |
static const char *const | add_cond_64_names [] |
static const char *const | wide_add_cond_names [] |
static const char *const | logical_cond_names [] |
static const char *const | logical_cond_64_names [] |
static const char *const | unit_cond_names [] |
static const char *const | unit_cond_64_names [] |
static const char *const | shift_cond_names [] |
static const char *const | shift_cond_64_names [] |
static const char *const | bb_cond_64_names [] |
static const char *const | index_compl_names [] = {"", ",m", ",s", ",sm"} |
static const char *const | short_ldst_compl_names [] = {"", ",ma", "", ",mb"} |
static const char *const | short_bytes_compl_names [] |
static const char *const | float_format_names [] = {",sgl", ",dbl", "", ",quad"} |
static const char *const | fcnv_fixed_names [] = {",w", ",dw", "", ",qw"} |
static const char *const | fcnv_ufixed_names [] = {",uw", ",udw", "", ",uqw"} |
static const char *const | float_comp_names [] |
static const char *const | signed_unsigned_names [] = {",u", ",s"} |
static const char *const | mix_half_names [] = {",l", ",r"} |
static const char *const | saturation_names [] = {",us", ",ss", 0, ""} |
static const char *const | read_write_names [] = {",r", ",w"} |
static const char *const | add_compl_names [] = { 0, "", ",l", ",tsv" } |
Definition at line 175 of file hppa-dis.c.
Definition at line 68 of file hppa-dis.c.
#define GET_COMPL | ( | insn | ) |
Definition at line 166 of file hppa-dis.c.
#define GET_COND | ( | insn | ) |
Definition at line 169 of file hppa-dis.c.
Definition at line 65 of file hppa-dis.c.
#define MASK_10 0x3ff |
Definition at line 57 of file hppa-dis.c.
#define MASK_11 0x7ff |
Definition at line 58 of file hppa-dis.c.
#define MASK_14 0x3fff |
Definition at line 59 of file hppa-dis.c.
#define MASK_16 0xffff |
Definition at line 60 of file hppa-dis.c.
#define MASK_21 0x1fffff |
Definition at line 61 of file hppa-dis.c.
#define MASK_5 0x1f |
Definition at line 56 of file hppa-dis.c.
Definition at line 52 of file hppa-dis.c.
Definition at line 277 of file hppa-dis.c.
References low_sign_extend(), and MASK_11.
Referenced by print_insn_hppa().
Definition at line 329 of file hppa-dis.c.
References GET_FIELD, and sign_extend().
Referenced by print_insn_hppa().
Definition at line 285 of file hppa-dis.c.
References low_sign_extend(), and MASK_14.
Referenced by print_insn_hppa().
Definition at line 293 of file hppa-dis.c.
References GET_BIT, and sign_extend().
Referenced by print_insn_hppa().
Definition at line 340 of file hppa-dis.c.
References GET_FIELD, and sign_extend().
Referenced by print_insn_hppa().
Definition at line 308 of file hppa-dis.c.
References GET_FIELD, MASK_21, sign_extend(), and val.
Referenced by print_insn_hppa().
Definition at line 349 of file hppa-dis.c.
References GET_FIELD, and sign_extend().
Referenced by print_insn_hppa().
Definition at line 229 of file hppa-dis.c.
References low_sign_extend(), and MASK_5.
Referenced by print_insn_hppa().
Definition at line 237 of file hppa-dis.c.
References low_sign_extend(), and MASK_5.
Referenced by print_insn_hppa().
|
static |
Definition at line 209 of file hppa-dis.c.
Referenced by print_insn_hppa().
|
static |
Definition at line 201 of file hppa-dis.c.
References control_reg, info(), and reg.
Referenced by print_insn_hppa().
|
static |
Definition at line 184 of file hppa-dis.c.
References fp_reg_names, info(), and reg.
Referenced by print_insn_hppa().
|
static |
Definition at line 190 of file hppa-dis.c.
References fp_reg_names, info(), and reg.
Referenced by print_insn_hppa().
|
static |
Definition at line 178 of file hppa-dis.c.
References info(), reg, and reg_names.
Referenced by print_insn_hppa().
int print_insn_hppa | ( | bfd_vma | memaddr, |
disassemble_info * | info | ||
) |
Definition at line 361 of file hppa-dis.c.
References a, add_compl_names, add_cond_64_names, add_cond_names, pa_opcode::arch, pa_opcode::args, bb_cond_64_names, bfd_getb32(), cmpib_cond_64_names, compare_cond_64_names, compare_cond_names, cond, dest, extract_10U_store(), extract_11(), extract_12(), extract_14(), extract_16(), extract_17(), extract_21(), extract_22(), extract_3(), extract_5_load(), extract_5_store(), extract_5Q_store(), extract_5r_store(), extract_5R_store(), fcnv_fixed_names, fcnv_ufixed_names, float_comp_names, float_format_names, fput_const(), fput_creg(), fput_fp_reg(), fput_fp_reg_r(), fput_reg(), fputs_filtered, GET_COMPL, GET_COND, GET_FIELD, i, index_compl_names, info(), logical_cond_64_names, logical_cond_names, regress::m, pa_opcode::mask, pa_opcode::match, mix_half_names, pa_opcode::name, num, NUMOPCODES, opc, pa20w, pa_opcodes, read_write_names, reg, s, saturation_names, shift_cond_64_names, shift_cond_names, short_bytes_compl_names, short_ldst_compl_names, signed_unsigned_names, source, status, unit_cond_64_names, unit_cond_names, UT64_MAX, and wide_add_cond_names.
Referenced by disassemble().
Definition at line 162 of file hppa-dis.c.
Referenced by print_insn_hppa().
Definition at line 102 of file hppa-dis.c.
Referenced by print_insn_hppa().
Definition at line 97 of file hppa-dis.c.
Referenced by print_insn_hppa().
Definition at line 138 of file hppa-dis.c.
Referenced by print_insn_hppa().
Definition at line 93 of file hppa-dis.c.
Referenced by print_insn_hppa().
Definition at line 88 of file hppa-dis.c.
Referenced by print_insn_hppa().
Definition at line 83 of file hppa-dis.c.
Referenced by print_insn_hppa().
Definition at line 74 of file hppa-dis.c.
Referenced by fput_creg().
Definition at line 149 of file hppa-dis.c.
Referenced by print_insn_hppa().
Definition at line 150 of file hppa-dis.c.
Referenced by print_insn_hppa().
Definition at line 151 of file hppa-dis.c.
Referenced by print_insn_hppa().
Definition at line 148 of file hppa-dis.c.
Referenced by print_insn_hppa().
Definition at line 43 of file hppa-dis.c.
Referenced by fput_fp_reg(), and fput_fp_reg_r().
Definition at line 142 of file hppa-dis.c.
Referenced by print_insn_hppa().
Definition at line 116 of file hppa-dis.c.
Referenced by print_insn_hppa().
Definition at line 112 of file hppa-dis.c.
Referenced by print_insn_hppa().
Definition at line 159 of file hppa-dis.c.
Referenced by print_insn_hppa().
Definition at line 161 of file hppa-dis.c.
Referenced by print_insn_hppa().
Definition at line 33 of file hppa-dis.c.
Referenced by avr_custom_des(), and fput_reg().
Definition at line 160 of file hppa-dis.c.
Referenced by print_insn_hppa().
Definition at line 134 of file hppa-dis.c.
Referenced by print_insn_hppa().
Definition at line 130 of file hppa-dis.c.
Referenced by print_insn_hppa().
Definition at line 144 of file hppa-dis.c.
Referenced by print_insn_hppa().
Definition at line 143 of file hppa-dis.c.
Referenced by print_insn_hppa().
Definition at line 158 of file hppa-dis.c.
Referenced by print_insn_hppa().
Definition at line 125 of file hppa-dis.c.
Referenced by print_insn_hppa().
Definition at line 120 of file hppa-dis.c.
Referenced by print_insn_hppa().
Definition at line 107 of file hppa-dis.c.
Referenced by print_insn_hppa().