diff --git a/libr/anal/p/anal_avr.c b/libr/anal/p/anal_avr.c index ee8859c3f0..cfa77c6af4 100644 --- a/libr/anal/p/anal_avr.c +++ b/libr/anal/p/anal_avr.c @@ -1088,7 +1088,7 @@ INST_HANDLER (reti) { // RETI INST_HANDLER (rjmp) { // RJMP k op->jump = (op->addr - + (((typeof (op->jump)) (((buf[1] & 0xf) << 9) | (buf[0] << 1))) + + ((((( (typeof (op->jump)) buf[1] & 0xf) << 9) | ((typeof (op->jump)) buf[0] << 1))) | (buf[1] & 0x8 ? ~((typeof (op->jump)) 0x1fff) : 0)) + 2) & CPU_PC_MASK (cpu); ESIL_A ("%"PFMT64d",pc,=,", op->jump);