mirror of
https://github.com/radareorg/radare2.git
synced 2025-02-15 03:38:27 +00:00
Add ESIL support for MicroMIPS jraddiusp instruction
This commit is contained in:
parent
540644dbe5
commit
36ecbc21ff
@ -104,6 +104,10 @@ static int analop_esil(RAnal *a, RAnalOp *op, ut64 addr, const ut8 *buf, int len
|
||||
case MIPS_INS_BLTZAL: // Branch on less than zero and link
|
||||
r_strbuf_appendf (&op->esil, "pc,8,+,ra,=,%s,pc,=", ARG(0));
|
||||
break;
|
||||
case MIPS_INS_JRADDIUSP:
|
||||
// increment stackpointer in X and jump to %ra
|
||||
r_strbuf_appendf (&op->esil, "%d,sp,+=,ra,pc,=", ARG(0));
|
||||
break;
|
||||
case MIPS_INS_JR:
|
||||
case MIPS_INS_JRC:
|
||||
case MIPS_INS_J:
|
||||
|
@ -39,4 +39,5 @@ beq=beq $s,$t,C, goes to the instruction at the specified address if two registe
|
||||
bneq=goes to the instruction at the specified address if two registers are not equal.
|
||||
j=unconditionally jumps to the instruction at the specified address
|
||||
jr=jumps to the address contained in the specified register
|
||||
jraddiusp=increment stackpointer and jump to ra register
|
||||
jal=used to call a subroutine, $31 holds the return address; returning from a subroutine is done by: jr $31. Return address is PC + 8, not PC + 4 due to the use of a branch delay slot which forces the instruction after the jump to be executed
|
||||
|
Loading…
x
Reference in New Issue
Block a user