11 #define AVR_SOFTCAST(x, y) ((x) + ((y)*0x100))
49 1, 2, 3, 1, 2, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1
91 ut8 high = (
hex & 0xf0) >> 4;
94 ret = (
hex & 1) ? 1 : 2;
101 const size_t basz =
sizeof(basm) - 1;
106 ut8 high = (*
buf & 0xf0) >> 4;
128 snprintf(basm, basz,
"scr r%d", (low & 0xe));
132 snprintf(basm, basz,
"fim r%d, 0x%02x", (low & 0xe),
buf[1]);
140 snprintf(basm, basz,
"fin r%d", (low & 0xe));
182 strncpy(basm,
i4004_e[low], basz);
186 strncpy(basm,
i4004_f[low], basz);
188 if (!strcmp(basm,
"dac")) {
193 if (!strcmp(basm,
"invalid")) {
195 }
else if (!strcmp(basm,
"ral")) {
197 }
else if (!strcmp(basm,
"rar")) {
200 return op->size = rlen;
205 .desc =
"i4004 code analysis plugin",
214 #ifndef RZ_PLUGIN_INCORE
static char * get_reg_profile(RzAnalysis *analysis)
static const char * i4004_f[16]
static int i4004_op(RzAnalysis *analysis, RzAnalysisOp *op, ut64 addr, const ut8 *buf, int len, RzAnalysisOpMask mask)
static int i4004_get_ins_len(ut8 hex)
RZ_API RzLibStruct rizin_plugin
static const char * i4004_e[16]
RzAnalysisPlugin rz_analysis_plugin_i4004
static const int i4004_ins_len[16]
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")
static const char hex[16]
@ RZ_ANALYSIS_OP_TYPE_SUB
@ RZ_ANALYSIS_OP_TYPE_LOAD
@ RZ_ANALYSIS_OP_TYPE_JMP
@ RZ_ANALYSIS_OP_TYPE_XCHG
@ RZ_ANALYSIS_OP_TYPE_CALL
@ RZ_ANALYSIS_OP_TYPE_ADD
@ RZ_ANALYSIS_OP_TYPE_SHR
@ RZ_ANALYSIS_OP_TYPE_RJMP
@ RZ_ANALYSIS_OP_TYPE_CJMP
@ RZ_ANALYSIS_OP_TYPE_MOV
@ RZ_ANALYSIS_OP_TYPE_SHL
@ RZ_ANALYSIS_OP_TYPE_ILL
@ RZ_ANALYSIS_OP_TYPE_RET
@ RZ_ANALYSIS_OP_TYPE_NOP
ut64(WINAPI *w32_GetEnabledXStateFeatures)()