diff --git a/arch/arm/armadillo.c b/arch/arm/armadillo.c index f812791..b646de6 100644 --- a/arch/arm/armadillo.c +++ b/arch/arm/armadillo.c @@ -21,8 +21,8 @@ struct ad_insn *insn = NULL; char *decodeARM(unsigned long int start, char *outbuf, int *lendis, unsigned long int offset0) { *lendis = 4; - opcode = start; - ArmadilloDisassemble(*opcode, opcode, &insn); + opcode = (unsigned int *)start; + ArmadilloDisassemble(*opcode, (unsigned long)opcode, &insn); memcpy(outbuf,insn->decoded,strlen(insn->decoded)+1); ArmadilloDone(&insn); return outbuf; diff --git a/dasm/dasm.c b/dasm/dasm.c index d0a7e89..07e8f05 100644 --- a/dasm/dasm.c +++ b/dasm/dasm.c @@ -122,7 +122,7 @@ void disassemble_screen(struct editor* e, struct charbuf* b) q = &e->contents[offset]; for (int i = 0; i < e->screen_rows - 2; i++) if (offset < e->content_length) { - decode(q, outbuf, &lendis, offset); + decode((unsigned long)q, outbuf, &lendis, offset); setup_instruction(i, e, b, offset, (uint8_t *) q, lendis, outbuf); q += lendis; offset += lendis;