Rizin
unix-like reverse engineering framework and cli tools
|
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <rz_types.h>
#include <rz_util.h>
#include "ins.h"
#include "decode.h"
#include "utils.h"
#include "hashtable.h"
#include "decode_funcs.h"
Go to the source code of this file.
Functions | |
static ut32 | get_q_bits (ut32 val, char *ins, ut32 ins_len, int *err_code) |
static ut32 | get_ins_bits (ut32 hash_code, ut32 ins_pos, char *ins, ut32 ins_len, ut32 magic_value, int *err_code) |
static bool | check_arg (ut32 ins_bits, int *err_code) |
static char * | decode_regis (char *reg_arg, st32 hash_code, ut32 ins_bits, ut32 *ret_ins_bits, int *err_code) |
static char * | decode_ins (st32 hash_code, ut32 ins_pos, ut32 ins_off, ut32 *ins_len_dec, ut32 *reg_len_dec, ut32 *ret_ins_bits, ut32 magic_value, ut8 two_ins, int *err_code) |
static bool | is_hash (st32 hash_code) |
void | set_magic_value (ut32 *magic_value, st32 hash_code, int *err_code) |
static char * | do_decode (ut32 ins_off, ut32 ins_pos, ut32 two_ins, ut32 *next_ins_pos, st32 *ins_hash_code, int *err_code) |
char * | c55plus_decode (ut32 ins_pos, ut32 *next_ins_pos) |
static bool | is_linear_circular (ut32 ins_bits) |
static char * | get_token_decoded (st32 hash_code, char *ins_token, ut32 ins_token_len, char *reg_arg, ut32 *ret_ins_bits, ut32 *ret_reg_len, ut32 magic_value, ut32 ins_pos, ut32 ins_len, ut8 two_ins, int *err_code) |
Variables | |
char * | ins_str [] |
ut32 | ins_buff_len |
Definition at line 448 of file c55plus_decode.c.
References do_decode(), free(), get_ins_part(), ins_buff_len, NULL, st32, and strcat_dup().
Referenced by c55x_plus_disassemble().
|
static |
Definition at line 223 of file c55plus_decode.c.
References C55PLUS_DEBUG, free(), get_ins_len(), get_ins_part(), get_token_decoded(), i, ins_str, int, len, memcpy(), NULL, pos, printf(), reg, and strcat_dup().
Referenced by do_decode().
|
static |
Definition at line 118 of file c55plus_decode.c.
References check_arg(), get_reg_name_1(), get_reg_name_2(), get_reg_name_3(), NULL, rz_str_ncasecmp(), and strdup().
Referenced by get_token_decoded().
|
static |
Definition at line 382 of file c55plus_decode.c.
References C55PLUS_DEBUG, decode_ins(), free(), get_hash_code(), get_hex_str(), get_ins_part(), is_hash(), NULL, printf(), set_magic_value(), st32, and strcat_dup().
Referenced by c55plus_decode().
|
static |
Definition at line 57 of file c55plus_decode.c.
References C55PLUS_DEBUG, get_ins_part(), get_q_bits(), i, ins_str, int, len, printf(), and x.
Referenced by get_token_decoded().
Definition at line 20 of file c55plus_decode.c.
References rz_str_ncasecmp(), and val.
Referenced by get_ins_bits().
|
static |
Definition at line 522 of file c55plus_decode.c.
References C55PLUS_DEBUG, decode_regis(), get_AR_regs_class1(), get_AR_regs_class2(), get_cmp_op(), get_ins_bits(), get_opers(), get_reg_pair(), get_sim_reg(), get_status_regs_and_bits(), get_tc2_tc1(), get_trans_reg(), is_linear_circular(), NULL, printf(), rz_str_ncasecmp(), sprintf, strcat_dup(), and strdup().
Referenced by decode_ins().
|
extern |
Definition at line 7 of file ins.c.
Referenced by c55plus_decode().
|
extern |
Definition at line 76 of file ins.c.
Referenced by decode_ins(), and get_ins_bits().