diff options
Diffstat (limited to '')
| -rw-r--r-- | miasm2/arch/mips32/sem.py | 110 |
1 files changed, 27 insertions, 83 deletions
diff --git a/miasm2/arch/mips32/sem.py b/miasm2/arch/mips32/sem.py index ca368883..d634c208 100644 --- a/miasm2/arch/mips32/sem.py +++ b/miasm2/arch/mips32/sem.py @@ -408,89 +408,33 @@ def ei(a): def ehb(a): "NOP" -mnemo_func = { - "addiu": addiu, - "addu": addiu, - "lw" : lw, - "sw" : sw, - "sh" : sh, - "sb" : sb, - "jalr" : jalr, - "jal" : jal, - "bal" : bal, - "b" : l_b, - "lbu" : lbu, - "lhu" : lhu, - "lb" : lb, - "beq" : beq, - "bgez" : bgez, - "bltz" : bltz, - "bgtz" : bgtz, - "bne" : bne, - "lui" : lui, - "nop" : nop, - "j" : j, - "jr" : j, - "ori" : l_or, - "or" : l_or, - "nor" : nor, - "and" : l_and, - "andi" : l_and, - "ext" : ext, - "mul" : mul, - "sltu" : sltu, - "slt" : slt, - "slti" : slt, - "sltiu" : sltu, - "subu" : l_sub, - "movn" : movn, - "movz" : movz, - "srl" : srl, - "sra" : sra, - "srav" : srav, - "sll" : sll, - "srlv" : srlv, - "sllv" : sllv, - "xori" : l_xor, - "xor" : l_xor, - "seb" : seb, - "seh" : seh, - "bltz" : bltz, - "blez" : blez, - "wsbh" : wsbh, - "rotr" : rotr, - # "mfc0" : mfc0, - # "mfc1" : mfc1, - # "mtc0" : mtc0, - # "mtc1" : mtc1, - "tlbwi" : tlbwi, - "tlbp" : tlbp, - "ins" : ins, - - "add.d" : add_d, - "sub.d" : sub_d, - "div.d" : div_d, - "mul.d" : mul_d, - "mov.d" : mov_d, - "lwc1" : lwc1, - "swc1" : swc1, - "c.lt.d" : c_lt_d, - "c.eq.d" : c_eq_d, - "c.le.d" : c_le_d, - "bc1t" : bc1t, - "bc1f" : bc1f, - "cvt.d.w":cvt_d_w, - "mult" : mult, - "multu" : multu, - - "mfhi" : mfhi, - "mflo" : mflo, - - "di" : di, - "ei" : ei, - "ehb" : ehb, - - } +mnemo_func = sbuild.functions +mnemo_func.update({ + 'add.d': add_d, + 'addu': addiu, + 'and': l_and, + 'andi': l_and, + 'b': l_b, + 'c.eq.d': c_eq_d, + 'c.le.d': c_le_d, + 'c.lt.d': c_lt_d, + 'cvt.d.w': cvt_d_w, + 'div.d': div_d, + 'ins': ins, + 'jr': j, + 'mov.d': mov_d, + 'movn': movn, + 'movz': movz, + 'mul.d': mul_d, + 'or': l_or, + 'ori': l_or, + 'slti': slt, + 'sltiu': sltu, + 'sub.d': sub_d, + 'subu': l_sub, + 'xor': l_xor, + 'xori': l_xor, +}) def get_mnemo_expr(ir, instr, *args): instr, extra_ir = mnemo_func[instr.name.lower()](ir, instr, *args) |