10 #include "../../asm/arch/z80/z80_tab.h"
51 *
size = *size_prefix + 2;
53 *
size = *size_prefix + 1;
114 op->ptr = data[1] | data[2] << 8;
119 op->ptr = data[1] | data[2] << 8;
124 op->ptr = data[1] | data[2] << 8;
129 op->ptr = data[1] | data[2] << 8;
155 op->ptr = data[2] | data[3] << 8;
163 op->ptr = data[2] | data[3] << 8;
178 op->ptr = data[2] | data[3] << 8;
183 op->ptr = data[2] | data[3] << 8;
242 op->jump =
addr + ((
len > 1) ? (
st8)data[1] : 0) + ilen;
256 op->jump = (
len > 2) ? data[1] | data[2] << 8 : 0;
261 op->jump = (
len > 2) ? data[1] | data[2] << 8 : 0;
311 op->jump = (
len > 2) ? data[1] | data[2] << 8 : 0;
320 op->jump = data[1] | data[2] << 8;
323 switch (data[1] / 8) {
407 "gpr mbcrom .16 14 0\n"
408 "gpr mbcram .16 16 0\n"
424 .desc =
"Z80 CPU code analysis plugin",
429 #ifndef RZ_PLUGIN_INCORE
static char * get_reg_profile(RzAnalysis *analysis)
RZ_API RzLibStruct rizin_plugin
static int archinfo(RzAnalysis *analysis, int q)
static void z80_op_size(const ut8 *data, int len, int *size, int *size_prefix)
RzAnalysisPlugin rz_analysis_plugin_z80
static int z80_analysis_op(RzAnalysis *analysis, RzAnalysisOp *op, ut64 addr, const ut8 *data, int len, RzAnalysisOpMask mask)
return strdup("=SP r13\n" "=LR r14\n" "=PC r15\n" "=A0 r0\n" "=A1 r1\n" "=A2 r2\n" "=A3 r3\n" "=ZF zf\n" "=SF nf\n" "=OF vf\n" "=CF cf\n" "=SN or0\n" "gpr lr .32 56 0\n" "gpr pc .32 60 0\n" "gpr cpsr .32 64 0 ____tfiae_________________qvczn\n" "gpr or0 .32 68 0\n" "gpr tf .1 64.5 0 thumb\n" "gpr ef .1 64.9 0 endian\n" "gpr jf .1 64.24 0 java\n" "gpr qf .1 64.27 0 sticky_overflow\n" "gpr vf .1 64.28 0 overflow\n" "gpr cf .1 64.29 0 carry\n" "gpr zf .1 64.30 0 zero\n" "gpr nf .1 64.31 0 negative\n" "gpr itc .4 64.10 0 if_then_count\n" "gpr gef .4 64.16 0 great_or_equal\n" "gpr r0 .32 0 0\n" "gpr r1 .32 4 0\n" "gpr r2 .32 8 0\n" "gpr r3 .32 12 0\n" "gpr r4 .32 16 0\n" "gpr r5 .32 20 0\n" "gpr r6 .32 24 0\n" "gpr r7 .32 28 0\n" "gpr r8 .32 32 0\n" "gpr r9 .32 36 0\n" "gpr r10 .32 40 0\n" "gpr r11 .32 44 0\n" "gpr r12 .32 48 0\n" "gpr r13 .32 52 0\n" "gpr r14 .32 56 0\n" "gpr r15 .32 60 0\n" "gpr r16 .32 64 0\n" "gpr r17 .32 68 0\n")
@ RZ_ANALYSIS_OP_TYPE_SUB
@ RZ_ANALYSIS_OP_TYPE_LOAD
@ RZ_ANALYSIS_OP_TYPE_UNK
@ RZ_ANALYSIS_OP_TYPE_ROL
@ RZ_ANALYSIS_OP_TYPE_JMP
@ RZ_ANALYSIS_OP_TYPE_AND
@ RZ_ANALYSIS_OP_TYPE_UJMP
@ RZ_ANALYSIS_OP_TYPE_ROR
@ RZ_ANALYSIS_OP_TYPE_SWI
@ RZ_ANALYSIS_OP_TYPE_TRAP
@ RZ_ANALYSIS_OP_TYPE_CCALL
@ RZ_ANALYSIS_OP_TYPE_CALL
@ RZ_ANALYSIS_OP_TYPE_ADD
@ RZ_ANALYSIS_OP_TYPE_STORE
@ RZ_ANALYSIS_OP_TYPE_CRET
@ RZ_ANALYSIS_OP_TYPE_PUSH
@ RZ_ANALYSIS_OP_TYPE_POP
@ RZ_ANALYSIS_OP_TYPE_CJMP
@ RZ_ANALYSIS_OP_TYPE_MOV
@ RZ_ANALYSIS_OP_TYPE_RET
@ RZ_ANALYSIS_OP_TYPE_NOP
@ RZ_ANALYSIS_OP_TYPE_XOR
ut64(WINAPI *w32_GetEnabledXStateFeatures)()
static const z80_opcode fd[]
static const z80_opcode z80_op[]
static const z80_opcode dd[]
static ut8 z80_ed_branch_index_res(ut8 hex)
static ut8 z80_fddd_branch_index_res(ut8 hex)
static const z80_opcode ed[]