diff options
| author | Camille Mougey <commial@gmail.com> | 2019-01-11 13:37:36 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-01-11 13:37:36 +0100 |
| commit | 914b9c443105f1bfbda97d1b7c01d901d561062c (patch) | |
| tree | 2d326961f9dcd808a08c23963517041e4b7745f0 /miasm2/arch/msp430/ira.py | |
| parent | 4ffdb499832b4ddf4c9c5ca079d9a0a12c435055 (diff) | |
| parent | a424a91dba4342eaa616fcb2fc5a3659784a4565 (diff) | |
| download | miasm-914b9c443105f1bfbda97d1b7c01d901d561062c.tar.gz miasm-914b9c443105f1bfbda97d1b7c01d901d561062c.zip | |
Merge pull request #915 from serpilliere/msp430_flags
MSP430: Explicit flags
Diffstat (limited to 'miasm2/arch/msp430/ira.py')
| -rw-r--r-- | miasm2/arch/msp430/ira.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/miasm2/arch/msp430/ira.py b/miasm2/arch/msp430/ira.py index 2a850d82..5b19956e 100644 --- a/miasm2/arch/msp430/ira.py +++ b/miasm2/arch/msp430/ira.py @@ -2,7 +2,8 @@ from miasm2.ir.analysis import ira from miasm2.arch.msp430.sem import ir_msp430 - +from miasm2.ir.ir import AssignBlock +from miasm2.expression.expression import * class ir_a_msp430_base(ir_msp430, ira): @@ -10,6 +11,15 @@ class ir_a_msp430_base(ir_msp430, ira): ir_msp430.__init__(self, loc_db) self.ret_reg = self.arch.regs.R15 + def call_effects(self, addr, instr): + call_assignblk = AssignBlock( + [ + ExprAssign(self.ret_reg, ExprOp('call_func_ret', addr, self.sp, self.arch.regs.R15)), + ExprAssign(self.sp, ExprOp('call_func_stack', addr, self.sp)) + ], + instr + ) + return [call_assignblk], [] class ir_a_msp430(ir_a_msp430_base): |