mirror of
https://github.com/radareorg/radare2.git
synced 2025-03-03 19:59:09 +00:00
Fill op->mnemonic in anal-gb
This commit is contained in:
parent
711bbdd9e4
commit
31d6b5764a
@ -1,5 +1,5 @@
|
||||
/* radare - LGPL - Copyright 2012 - pancake<nopcode.org>
|
||||
2015 - condret
|
||||
2019 - condret
|
||||
|
||||
this file was based on anal_i8080.c */
|
||||
|
||||
@ -714,8 +714,31 @@ static int gb_anop(RAnal *anal, RAnalOp *op, ut64 addr, const ut8 *data, int len
|
||||
int ilen = gbOpLength (gb_op[data[0]].type);
|
||||
if (ilen > len) {
|
||||
ilen = 0;
|
||||
} else if (mask & R_ANAL_OP_MASK_DISASM) {
|
||||
memset (op, '\0', sizeof (RAnalOp));
|
||||
char mn[32];
|
||||
memset (mn, '\0', sizeof (char) * sizeof (mn));
|
||||
switch (gb_op[data[0]].type) {
|
||||
case GB_8BIT:
|
||||
sprintf (mn, "%s", gb_op[data[0]].name);
|
||||
break;
|
||||
case GB_16BIT:
|
||||
sprintf (mn, "%s %s", cb_ops[data[1] >> 3], cb_regs[data[1] & 7]);
|
||||
break;
|
||||
case GB_8BIT + ARG_8:
|
||||
sprintf (mn, gb_op[data[0]].name, data[1]);
|
||||
break;
|
||||
case GB_8BIT + ARG_16:
|
||||
sprintf (mn, gb_op[data[0]].name, data[1] | (data[2] << 8));
|
||||
break;
|
||||
case GB_8BIT + ARG_8 + GB_IO:
|
||||
sprintf (mn, gb_op[data[0]].name, 0xff00 | data[1]);
|
||||
break;
|
||||
}
|
||||
op->mnemonic = strdup (mn);
|
||||
} else {
|
||||
memset (op, '\0', sizeof (RAnalOp));
|
||||
}
|
||||
memset (op, '\0', sizeof (RAnalOp));
|
||||
op->addr = addr;
|
||||
op->type = R_ANAL_OP_TYPE_UNK;
|
||||
op->size = ilen;
|
||||
|
@ -12,14 +12,12 @@ typedef struct{
|
||||
const int type;
|
||||
} gb_opcode;
|
||||
|
||||
#ifndef GB_DIS_LEN_ONLY
|
||||
static const char *cb_ops[]={ "rlc","rrc","rl","rr","sla","sra","swap","srl",
|
||||
"bit 0,","bit 1,","bit 2,","bit 3,","bit 4,","bit 5,","bit 6,","bit 7,",
|
||||
"res 0,","res 1,","res 2,","res 3,","res 4,","res 5,","res 6,","res 7,",
|
||||
"set 0,","set 1,","set 2,","set 3,","set 4,","set 5,","set 6,","set 7,"};
|
||||
|
||||
static const char *cb_regs[]={ "b","c","d","e","h","l","[hl]","a"};
|
||||
#endif
|
||||
|
||||
static gb_opcode gb_op[] = {
|
||||
{"nop" ,GB_8BIT}, //0x00
|
||||
|
Loading…
x
Reference in New Issue
Block a user