diff options
| author | serpilliere <fabrice.desclaux@cea.fr> | 2015-10-18 18:41:56 +0200 |
|---|---|---|
| committer | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2015-10-23 10:53:44 +0200 |
| commit | 1d8d18fa887fdd7e1eb2c8978bcf69e95fc74f81 (patch) | |
| tree | 76e7d57335a291439b3deb6c7104237699b27df6 /miasm2/arch/x86/regs.py | |
| parent | f7ce75fca55241784a7e81f6c0243781f953695f (diff) | |
| download | miasm-1d8d18fa887fdd7e1eb2c8978bcf69e95fc74f81.tar.gz miasm-1d8d18fa887fdd7e1eb2c8978bcf69e95fc74f81.zip | |
Arch/x86/sem: add custom float pop
Diffstat (limited to '')
| -rw-r--r-- | miasm2/arch/x86/regs.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/miasm2/arch/x86/regs.py b/miasm2/arch/x86/regs.py index 31f55483..9c87834f 100644 --- a/miasm2/arch/x86/regs.py +++ b/miasm2/arch/x86/regs.py @@ -248,7 +248,6 @@ reg_float_address = 'reg_float_address' reg_float_ds = 'reg_float_ds' - dr0 = ExprId(reg_dr0) dr1 = ExprId(reg_dr1) dr2 = ExprId(reg_dr2) @@ -342,6 +341,14 @@ float_st5 = ExprId("float_st5", 64) float_st6 = ExprId("float_st6", 64) float_st7 = ExprId("float_st7", 64) + +float_list = [float_st0, float_st1, float_st2, float_st3, + float_st4, float_st5, float_st6, float_st7] + +float_replace = {fltregs32_expr[i]: float_list[i] for i in xrange(8)} +float_replace[r_st_all.expr[0]] = float_st0 + + EAX_init = ExprId('EAX_init') EBX_init = ExprId('EBX_init') ECX_init = ExprId('ECX_init') @@ -428,7 +435,7 @@ for i, r in enumerate(all_regs_ids): regs_flt_expr = [float_st0, float_st1, float_st2, float_st3, float_st4, float_st5, float_st6, float_st7, - ] + ] mRAX = {16: AX, 32: EAX, 64: RAX} mRBX = {16: BX, 32: EBX, 64: RBX} |