Rizin
unix-like reverse engineering framework and cli tools
|
#include "amd29k.h"
#include "amd29k_internal.h"
#include <stdio.h>
#include <string.h>
#include <rz_analysis.h>
Go to the source code of this file.
Variables | |
const amd29k_instruction_t | amd29k_instructions [N_AMD29K_INSTRUCTIONS] |
#define AMD29K_IS_1 | ( | a | ) | AMD29K_IS_6(a, (AMD29K_TYPE_UNK), (AMD29K_TYPE_UNK), (AMD29K_TYPE_UNK), (AMD29K_TYPE_UNK), (AMD29K_TYPE_UNK)) |
#define AMD29K_IS_2 | ( | a, | |
b | |||
) | AMD29K_IS_6(a, b, (AMD29K_TYPE_UNK), (AMD29K_TYPE_UNK), (AMD29K_TYPE_UNK), (AMD29K_TYPE_UNK)) |
#define AMD29K_IS_3 | ( | a, | |
b, | |||
c | |||
) | AMD29K_IS_6(a, b, c, (AMD29K_TYPE_UNK), (AMD29K_TYPE_UNK), (AMD29K_TYPE_UNK)) |
#define AMD29K_IS_4 | ( | a, | |
b, | |||
c, | |||
d | |||
) | AMD29K_IS_6(a, b, c, d, (AMD29K_TYPE_UNK), (AMD29K_TYPE_UNK)) |
#define AMD29K_LR | ( | x | ) | (AMD29K_IS_REG_GR(x) ? (x) : (x)-127) |
#define AMD29K_REGNAME | ( | x | ) | (AMD29K_IS_REG_GR(x) ? "gr" : "lr") |
bool amd29k_instr_decode | ( | const ut8 * | buffer, |
const ut32 | buffer_size, | ||
amd29k_instr_t * | instruction, | ||
const char * | cpu | ||
) |
Definition at line 435 of file amd29k.c.
References amd29k_instructions, buffer_size, cpu, CPU_29000, decode_none(), i, in, is_cpu(), N_AMD29K_INSTRUCTIONS, and RZ_ANALYSIS_OP_TYPE_NOP.
Referenced by analop(), and disassemble().
bool amd29k_instr_is_ret | ( | amd29k_instr_t * | instruction | ) |
Definition at line 473 of file amd29k.c.
Referenced by analop().
ut64 amd29k_instr_jump | ( | ut64 | address, |
amd29k_instr_t * | instruction | ||
) |
Definition at line 480 of file amd29k.c.
References AMD29K_GET_TYPE, AMD29K_GET_VALUE, AMD29K_IS_1, AMD29K_IS_2, AMD29K_TYPE_JMP, AMD29K_TYPE_REG, int, benchmark::t1, UT64_MAX, v0, and v1.
Referenced by analop().
void amd29k_instr_print | ( | char * | string, |
int | string_size, | ||
ut64 | address, | ||
amd29k_instr_t * | instruction | ||
) |
Definition at line 501 of file amd29k.c.
References AMD29K_GET_TYPE, AMD29K_GET_VALUE, AMD29K_IS_1, AMD29K_IS_2, AMD29K_IS_3, AMD29K_IS_4, AMD29K_IS_6, AMD29K_LR, AMD29K_REGNAME, AMD29K_TYPE_IMM, AMD29K_TYPE_JMP, AMD29K_TYPE_REG, int, PFMT64x, snprintf, benchmark::t1, ut64(), v0, and v1.
Referenced by disassemble().
|
static |
Definition at line 98 of file amd29k.c.
References AMD29K_SET_INVALID, AMD29K_SET_VALUE, and AMD29K_TYPE_REG.
|
static |
Definition at line 116 of file amd29k.c.
References AMD29K_HAS_BIT, AMD29K_SET_INVALID, AMD29K_SET_VALUE, AMD29K_TYPE_IMM, and AMD29K_TYPE_REG.
|
static |
Definition at line 125 of file amd29k.c.
References AMD29K_SET_VALUE, AMD29K_TYPE_IMM, and AMD29K_TYPE_REG.
|
static |
Definition at line 144 of file amd29k.c.
References AMD29K_SET_INVALID, AMD29K_SET_VALUE, AMD29K_TYPE_IMM, and AMD29K_TYPE_REG.
|
static |
Definition at line 76 of file amd29k.c.
References AMD29K_HAS_BIT, AMD29K_SET_INVALID, AMD29K_SET_VALUE, AMD29K_TYPE_IMM, AMD29K_TYPE_JMP, and int.
|
static |
Definition at line 89 of file amd29k.c.
References AMD29K_HAS_BIT, AMD29K_SET_INVALID, AMD29K_SET_VALUE, AMD29K_TYPE_IMM, and AMD29K_TYPE_REG.
|
static |
Definition at line 189 of file amd29k.c.
References AMD29K_SET_INVALID, AMD29K_SET_VALUE, and AMD29K_TYPE_REG.
|
static |
Definition at line 198 of file amd29k.c.
References AMD29K_SET_INVALID, AMD29K_SET_VALUE, and AMD29K_TYPE_REG.
|
static |
Definition at line 207 of file amd29k.c.
References AMD29K_SET_INVALID.
Referenced by amd29k_instr_decode().
|
static |
Definition at line 59 of file amd29k.c.
References AMD29K_HAS_BIT, AMD29K_SET_INVALID, AMD29K_SET_VALUE, AMD29K_TYPE_IMM, AMD29K_TYPE_JMP, AMD29K_TYPE_REG, and int.
|
static |
Definition at line 180 of file amd29k.c.
References AMD29K_SET_INVALID, AMD29K_SET_VALUE, AMD29K_TYPE_IMM, and AMD29K_TYPE_REG.
|
static |
Definition at line 49 of file amd29k.c.
References AMD29K_SET_INVALID, AMD29K_SET_VALUE, AMD29K_TYPE_IMM, and AMD29K_TYPE_REG.
|
static |
Definition at line 153 of file amd29k.c.
References AMD29K_SET_INVALID, AMD29K_SET_VALUE, and AMD29K_TYPE_REG.
|
static |
Definition at line 40 of file amd29k.c.
References AMD29K_SET_INVALID, AMD29K_SET_VALUE, and AMD29K_TYPE_REG.
|
static |
Definition at line 27 of file amd29k.c.
References AMD29K_HAS_BIT, AMD29K_SET_INVALID, AMD29K_SET_VALUE, AMD29K_TYPE_IMM, and AMD29K_TYPE_REG.
|
static |
Definition at line 162 of file amd29k.c.
References AMD29K_SET_INVALID, AMD29K_SET_VALUE, and AMD29K_TYPE_REG.
|
static |
Definition at line 171 of file amd29k.c.
References AMD29K_SET_INVALID, AMD29K_SET_VALUE, AMD29K_TYPE_IMM, and AMD29K_TYPE_REG.
|
static |
Definition at line 135 of file amd29k.c.
References AMD29K_SET_INVALID, AMD29K_SET_VALUE, and AMD29K_TYPE_REG.
|
static |
Definition at line 107 of file amd29k.c.
References AMD29K_SET_INVALID, AMD29K_SET_VALUE, AMD29K_TYPE_IMM, and AMD29K_TYPE_REG.
|
static |
const amd29k_instruction_t amd29k_instructions[N_AMD29K_INSTRUCTIONS] |
Definition at line 217 of file amd29k.c.
Referenced by amd29k_instr_decode().