mirror of
https://github.com/radareorg/radare2.git
synced 2024-10-07 02:23:58 +00:00
Improves pseudo MIPS
This commit is contained in:
parent
ce9ece1177
commit
8530822050
@ -16,46 +16,57 @@ static int replace(int argc, const char *argv[], char *newstr) {
|
||||
char *op;
|
||||
char *str;
|
||||
} ops[] = {
|
||||
{ "li", "1 = 2"},
|
||||
{ "lui", "1 |= 2:"}, // : = <<16
|
||||
{ "jr", "ret 1"},
|
||||
{ "bne", "if (1 != 2) goto 3"},
|
||||
{ "beq", "if (1 == 2) goto 3"},
|
||||
{ "beqz", "if (!1) goto 2"},
|
||||
{ "bnez", "if (1) goto 2"},
|
||||
{ "begz", "if (1 >= 0) goto 2"},
|
||||
{ "begzal", "if (1 >= 0) call 2"},
|
||||
{ "bgtz", "if (1 > 0) goto 2"},
|
||||
{ "bltz", "if (1 < 0) goto 2"},
|
||||
{ "bltzal", "if (1 < 0) call 2"},
|
||||
{ "negu", "1 = !2"},
|
||||
{ "and", "1 = 2 & 3"},
|
||||
{ "andi", "1 = 2 & 3"},
|
||||
{ "ori", "1 = 2 | 3"},
|
||||
{ "subu", "1 = 2 - 3"},
|
||||
{ "xor", "1 = 2 ^ 3"},
|
||||
{ "xori", "1 = 2 ^ 3"},
|
||||
{ "addi", "1 = 2 + 3"},
|
||||
{ "addiu", "1 = 2 + 3"},
|
||||
{ "addu", "1 = 2 + 3"},
|
||||
//{ "jal", "call 1"},
|
||||
{ "bal", "call 1"},
|
||||
{ "jalr", "call 1"},
|
||||
{ "and", "1 = 2 & 3"},
|
||||
{ "andi", "1 = 2 & 3"},
|
||||
{ "b", "goto 1"},
|
||||
{ "bal", "call 1"},
|
||||
{ "begz", "if (1 >= 0) goto 2"},
|
||||
{ "begzal", "if (1 >= 0) call 2"},
|
||||
{ "beq", "if (1 == 2) goto 3"},
|
||||
{ "beqz", "if (!1) goto 2"},
|
||||
{ "bgtz", "if (1 > 0) goto 2"},
|
||||
{ "bltz", "if (1 < 0) goto 2"},
|
||||
{ "bltzal", "if (1 < 0) call 2"},
|
||||
{ "bne", "if (1 != 2) goto 3"},
|
||||
{ "bnez", "if (1) goto 2"},
|
||||
{ "j", "call 1"},
|
||||
{ "jal", "call 1"},
|
||||
{ "jalr", "call 1"},
|
||||
{ "jr", "ret 1"},
|
||||
{ "lb", "1 = byte [3 + 2]"},
|
||||
{ "lbu", "1 = byte [3 + 2]"},
|
||||
{ "lw", "1 = halfword [3 + 2]"},
|
||||
{ "li", "1 = 2"},
|
||||
{ "lui", "1 |= 2 << 16"},
|
||||
{ "lw", "1 = [3 + 2]"},
|
||||
{ "move", "1 = 2"},
|
||||
{ "mult", "1 = 2 * 3"},
|
||||
{ "multu", "1 = 2 * 3"},
|
||||
{ "negu", "1 = !2"},
|
||||
{ "nop", ""},
|
||||
{ "nor", "1 = ~(2 | 3)"},
|
||||
{ "or", "1 = 2 | 3"},
|
||||
{ "ori", "1 = 2 | 3"},
|
||||
{ "sb", "byte [3 + 2] = 1"},
|
||||
{ "sh", "halfword [3 + 2] = 1"},
|
||||
{ "sll", "1 = 2 << 3"},
|
||||
{ "sllv", "1 = 2 << 3"},
|
||||
{ "slr", "1 = 2 >> 3"}, // logic
|
||||
{ "sra", "1 = 2 >> 3"}, // arithmetic
|
||||
{ "slt", "1 = (2 < 3)"},
|
||||
{ "slti", "1 = (2 < 3)"},
|
||||
{ "sltiu", "1 = (2 < 3)"},
|
||||
{ "sltu", "1 = unsigned (2 < 3)"},
|
||||
{ "lb", "1 = byte [3 + 2]"},
|
||||
{ "lw", "1 = [3 + 2]"},
|
||||
{ "sb", "byte [3 + 2] = 1"},
|
||||
{ "lbu", "1 = byte [3 + 2]"},
|
||||
{ "sra", "1 = 2 >> 3"}, // arithmetic
|
||||
{ "srl", "1 = 2 >> 3"},
|
||||
{ "srlv", "1 = 2 >> 3"},
|
||||
{ "subu", "1 = 2 - 3"},
|
||||
{ "sub", "1 = 2 - 3"},
|
||||
{ "sw", "[3 + 2] = 1"},
|
||||
{ "xor", "1 = 2 ^ 3"},
|
||||
{ "xori", "1 = 2 ^ 3"},
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user