From 7162a683b66b02c16b42a177600468a1ff56149d Mon Sep 17 00:00:00 2001
From: Cyrille Bagard <nocbos@gmail.com>
Date: Mon, 1 Feb 2016 01:53:14 +0100
Subject: Defined all Dalvik instructions to get generated by d2c.

---
 .gitignore                             |   1 +
 ChangeLog                              | 307 +++++++++++++++
 configure.ac                           |   1 +
 plugins/ropgadgets/finder.c            |   2 +-
 src/analysis/disass/area.c             |   4 +-
 src/arch/arm/v7/processor.c            |   5 +-
 src/arch/dalvik/Makefile.am            |   2 +-
 src/arch/dalvik/instruction.c          |  31 +-
 src/arch/dalvik/instruction.h          |   3 -
 src/arch/dalvik/opcodes/Makefile.am    |  49 +--
 src/arch/dalvik/opcodes/add.c          | 419 --------------------
 src/arch/dalvik/opcodes/aget.c         | 302 --------------
 src/arch/dalvik/opcodes/and.c          | 263 -------------
 src/arch/dalvik/opcodes/aput.c         | 288 --------------
 src/arch/dalvik/opcodes/array.c        | 179 ---------
 src/arch/dalvik/opcodes/check.c        |  66 ----
 src/arch/dalvik/opcodes/cmp.c          | 224 -----------
 src/arch/dalvik/opcodes/const.c        | 458 ----------------------
 src/arch/dalvik/opcodes/div.c          | 419 --------------------
 src/arch/dalvik/opcodes/goto.c         | 140 -------
 src/arch/dalvik/opcodes/if.c           | 473 ----------------------
 src/arch/dalvik/opcodes/iget.c         | 302 --------------
 src/arch/dalvik/opcodes/instanceof.c   |  68 ----
 src/arch/dalvik/opcodes/invoke.c       | 399 -------------------
 src/arch/dalvik/opcodes/iput.c         | 288 --------------
 src/arch/dalvik/opcodes/monitor.c      | 103 -----
 src/arch/dalvik/opcodes/move.c         | 536 -------------------------
 src/arch/dalvik/opcodes/mul.c          | 419 --------------------
 src/arch/dalvik/opcodes/neg.c          | 185 ---------
 src/arch/dalvik/opcodes/new.c          | 107 -----
 src/arch/dalvik/opcodes/nop.c          |  66 ----
 src/arch/dalvik/opcodes/not.c          | 107 -----
 src/arch/dalvik/opcodes/opcodes.h      | 693 ---------------------------------
 src/arch/dalvik/opcodes/or.c           | 263 -------------
 src/arch/dalvik/opcodes/rem.c          | 419 --------------------
 src/arch/dalvik/opcodes/ret.c          | 177 ---------
 src/arch/dalvik/opcodes/rsub.c         | 107 -----
 src/arch/dalvik/opcodes/sget.c         | 302 --------------
 src/arch/dalvik/opcodes/shl.c          | 224 -----------
 src/arch/dalvik/opcodes/shr.c          | 224 -----------
 src/arch/dalvik/opcodes/sput.c         | 288 --------------
 src/arch/dalvik/opcodes/sub.c          | 341 ----------------
 src/arch/dalvik/opcodes/switch.c       | 103 -----
 src/arch/dalvik/opcodes/throw.c        |  66 ----
 src/arch/dalvik/opcodes/to.c           | 614 -----------------------------
 src/arch/dalvik/opcodes/ushr.c         | 224 -----------
 src/arch/dalvik/opcodes/xor.c          | 263 -------------
 src/arch/dalvik/opdefs/Makefile.am     | 268 +++++++++++++
 src/arch/dalvik/opdefs/add_90.d        |  30 ++
 src/arch/dalvik/opdefs/add_9b.d        |  30 ++
 src/arch/dalvik/opdefs/add_a6.d        |  30 ++
 src/arch/dalvik/opdefs/add_ab.d        |  30 ++
 src/arch/dalvik/opdefs/add_b0.d        |  30 ++
 src/arch/dalvik/opdefs/add_bb.d        |  30 ++
 src/arch/dalvik/opdefs/add_c6.d        |  30 ++
 src/arch/dalvik/opdefs/add_cb.d        |  30 ++
 src/arch/dalvik/opdefs/add_d0.d        |  30 ++
 src/arch/dalvik/opdefs/add_d8.d        |  30 ++
 src/arch/dalvik/opdefs/aget_44.d       |  30 ++
 src/arch/dalvik/opdefs/aget_45.d       |  30 ++
 src/arch/dalvik/opdefs/aget_46.d       |  30 ++
 src/arch/dalvik/opdefs/aget_47.d       |  30 ++
 src/arch/dalvik/opdefs/aget_48.d       |  30 ++
 src/arch/dalvik/opdefs/aget_49.d       |  30 ++
 src/arch/dalvik/opdefs/aget_4a.d       |  30 ++
 src/arch/dalvik/opdefs/and_95.d        |  30 ++
 src/arch/dalvik/opdefs/and_a0.d        |  30 ++
 src/arch/dalvik/opdefs/and_b5.d        |  30 ++
 src/arch/dalvik/opdefs/and_c0.d        |  30 ++
 src/arch/dalvik/opdefs/and_d5.d        |  30 ++
 src/arch/dalvik/opdefs/and_dd.d        |  30 ++
 src/arch/dalvik/opdefs/aput_4b.d       |  30 ++
 src/arch/dalvik/opdefs/aput_4c.d       |  30 ++
 src/arch/dalvik/opdefs/aput_4d.d       |  30 ++
 src/arch/dalvik/opdefs/aput_4e.d       |  30 ++
 src/arch/dalvik/opdefs/aput_4f.d       |  30 ++
 src/arch/dalvik/opdefs/aput_50.d       |  30 ++
 src/arch/dalvik/opdefs/aput_51.d       |  30 ++
 src/arch/dalvik/opdefs/array_21.d      |  30 ++
 src/arch/dalvik/opdefs/array_24.d      |  30 ++
 src/arch/dalvik/opdefs/array_26.d      |  30 ++
 src/arch/dalvik/opdefs/check_1f.d      |  30 ++
 src/arch/dalvik/opdefs/cmp_31.d        |  30 ++
 src/arch/dalvik/opdefs/cmpg_2e.d       |  30 ++
 src/arch/dalvik/opdefs/cmpg_30.d       |  30 ++
 src/arch/dalvik/opdefs/cmpl_2d.d       |  30 ++
 src/arch/dalvik/opdefs/cmpl_2f.d       |  30 ++
 src/arch/dalvik/opdefs/const_12.d      |  30 ++
 src/arch/dalvik/opdefs/const_13.d      |  30 ++
 src/arch/dalvik/opdefs/const_14.d      |  30 ++
 src/arch/dalvik/opdefs/const_15.d      |  30 ++
 src/arch/dalvik/opdefs/const_16.d      |  30 ++
 src/arch/dalvik/opdefs/const_17.d      |  30 ++
 src/arch/dalvik/opdefs/const_18.d      |  30 ++
 src/arch/dalvik/opdefs/const_19.d      |  30 ++
 src/arch/dalvik/opdefs/const_1a.d      |  30 ++
 src/arch/dalvik/opdefs/const_1b.d      |  30 ++
 src/arch/dalvik/opdefs/const_1c.d      |  30 ++
 src/arch/dalvik/opdefs/div_93.d        |  30 ++
 src/arch/dalvik/opdefs/div_9e.d        |  30 ++
 src/arch/dalvik/opdefs/div_a9.d        |  30 ++
 src/arch/dalvik/opdefs/div_ae.d        |  30 ++
 src/arch/dalvik/opdefs/div_b3.d        |  30 ++
 src/arch/dalvik/opdefs/div_be.d        |  30 ++
 src/arch/dalvik/opdefs/div_c9.d        |  30 ++
 src/arch/dalvik/opdefs/div_ce.d        |  30 ++
 src/arch/dalvik/opdefs/div_d3.d        |  30 ++
 src/arch/dalvik/opdefs/div_db.d        |  30 ++
 src/arch/dalvik/opdefs/filled_25.d     |  30 ++
 src/arch/dalvik/opdefs/goto_28.d       |  30 ++
 src/arch/dalvik/opdefs/goto_29.d       |  30 ++
 src/arch/dalvik/opdefs/goto_2a.d       |  30 ++
 src/arch/dalvik/opdefs/if_32.d         |  30 ++
 src/arch/dalvik/opdefs/if_33.d         |  30 ++
 src/arch/dalvik/opdefs/if_34.d         |  30 ++
 src/arch/dalvik/opdefs/if_35.d         |  30 ++
 src/arch/dalvik/opdefs/if_36.d         |  30 ++
 src/arch/dalvik/opdefs/if_37.d         |  30 ++
 src/arch/dalvik/opdefs/if_38.d         |  30 ++
 src/arch/dalvik/opdefs/if_39.d         |  30 ++
 src/arch/dalvik/opdefs/if_3a.d         |  30 ++
 src/arch/dalvik/opdefs/if_3b.d         |  30 ++
 src/arch/dalvik/opdefs/if_3c.d         |  30 ++
 src/arch/dalvik/opdefs/if_3d.d         |  30 ++
 src/arch/dalvik/opdefs/iget_52.d       |  30 ++
 src/arch/dalvik/opdefs/iget_53.d       |  30 ++
 src/arch/dalvik/opdefs/iget_54.d       |  30 ++
 src/arch/dalvik/opdefs/iget_55.d       |  30 ++
 src/arch/dalvik/opdefs/iget_56.d       |  30 ++
 src/arch/dalvik/opdefs/iget_57.d       |  30 ++
 src/arch/dalvik/opdefs/iget_58.d       |  30 ++
 src/arch/dalvik/opdefs/instanceof_20.d |  30 ++
 src/arch/dalvik/opdefs/invoke_6e.d     |  30 ++
 src/arch/dalvik/opdefs/invoke_6f.d     |  30 ++
 src/arch/dalvik/opdefs/invoke_70.d     |  30 ++
 src/arch/dalvik/opdefs/invoke_71.d     |  30 ++
 src/arch/dalvik/opdefs/invoke_72.d     |  30 ++
 src/arch/dalvik/opdefs/invoke_74.d     |  30 ++
 src/arch/dalvik/opdefs/invoke_75.d     |  30 ++
 src/arch/dalvik/opdefs/invoke_76.d     |  30 ++
 src/arch/dalvik/opdefs/invoke_77.d     |  30 ++
 src/arch/dalvik/opdefs/invoke_78.d     |  30 ++
 src/arch/dalvik/opdefs/iput_59.d       |  30 ++
 src/arch/dalvik/opdefs/iput_5a.d       |  30 ++
 src/arch/dalvik/opdefs/iput_5b.d       |  30 ++
 src/arch/dalvik/opdefs/iput_5c.d       |  30 ++
 src/arch/dalvik/opdefs/iput_5d.d       |  30 ++
 src/arch/dalvik/opdefs/iput_5e.d       |  30 ++
 src/arch/dalvik/opdefs/iput_5f.d       |  30 ++
 src/arch/dalvik/opdefs/monitor_1d.d    |  30 ++
 src/arch/dalvik/opdefs/monitor_1e.d    |  30 ++
 src/arch/dalvik/opdefs/move_01.d       |  30 ++
 src/arch/dalvik/opdefs/move_02.d       |  30 ++
 src/arch/dalvik/opdefs/move_03.d       |  30 ++
 src/arch/dalvik/opdefs/move_04.d       |  30 ++
 src/arch/dalvik/opdefs/move_05.d       |  30 ++
 src/arch/dalvik/opdefs/move_06.d       |  30 ++
 src/arch/dalvik/opdefs/move_07.d       |  30 ++
 src/arch/dalvik/opdefs/move_08.d       |  30 ++
 src/arch/dalvik/opdefs/move_09.d       |  30 ++
 src/arch/dalvik/opdefs/move_0a.d       |  30 ++
 src/arch/dalvik/opdefs/move_0b.d       |  30 ++
 src/arch/dalvik/opdefs/move_0c.d       |  30 ++
 src/arch/dalvik/opdefs/move_0d.d       |  30 ++
 src/arch/dalvik/opdefs/mul_92.d        |  30 ++
 src/arch/dalvik/opdefs/mul_9d.d        |  30 ++
 src/arch/dalvik/opdefs/mul_a8.d        |  30 ++
 src/arch/dalvik/opdefs/mul_ad.d        |  30 ++
 src/arch/dalvik/opdefs/mul_b2.d        |  30 ++
 src/arch/dalvik/opdefs/mul_bd.d        |  30 ++
 src/arch/dalvik/opdefs/mul_c8.d        |  30 ++
 src/arch/dalvik/opdefs/mul_cd.d        |  30 ++
 src/arch/dalvik/opdefs/mul_d2.d        |  30 ++
 src/arch/dalvik/opdefs/mul_da.d        |  30 ++
 src/arch/dalvik/opdefs/neg_7b.d        |  30 ++
 src/arch/dalvik/opdefs/neg_7d.d        |  30 ++
 src/arch/dalvik/opdefs/neg_7f.d        |  30 ++
 src/arch/dalvik/opdefs/neg_80.d        |  30 ++
 src/arch/dalvik/opdefs/new_22.d        |  30 ++
 src/arch/dalvik/opdefs/new_23.d        |  30 ++
 src/arch/dalvik/opdefs/nop_00.d        |  30 ++
 src/arch/dalvik/opdefs/not_7c.d        |  30 ++
 src/arch/dalvik/opdefs/not_7e.d        |  30 ++
 src/arch/dalvik/opdefs/or_96.d         |  30 ++
 src/arch/dalvik/opdefs/or_a1.d         |  30 ++
 src/arch/dalvik/opdefs/or_b6.d         |  30 ++
 src/arch/dalvik/opdefs/or_c1.d         |  30 ++
 src/arch/dalvik/opdefs/or_d6.d         |  30 ++
 src/arch/dalvik/opdefs/or_de.d         |  30 ++
 src/arch/dalvik/opdefs/rem_94.d        |  30 ++
 src/arch/dalvik/opdefs/rem_9f.d        |  30 ++
 src/arch/dalvik/opdefs/rem_aa.d        |  30 ++
 src/arch/dalvik/opdefs/rem_af.d        |  30 ++
 src/arch/dalvik/opdefs/rem_b4.d        |  30 ++
 src/arch/dalvik/opdefs/rem_bf.d        |  30 ++
 src/arch/dalvik/opdefs/rem_ca.d        |  30 ++
 src/arch/dalvik/opdefs/rem_cf.d        |  30 ++
 src/arch/dalvik/opdefs/rem_d4.d        |  30 ++
 src/arch/dalvik/opdefs/rem_dc.d        |  30 ++
 src/arch/dalvik/opdefs/return_0e.d     |  30 ++
 src/arch/dalvik/opdefs/return_0f.d     |  30 ++
 src/arch/dalvik/opdefs/return_10.d     |  30 ++
 src/arch/dalvik/opdefs/return_11.d     |  30 ++
 src/arch/dalvik/opdefs/rsub_d1.d       |  30 ++
 src/arch/dalvik/opdefs/rsub_d9.d       |  30 ++
 src/arch/dalvik/opdefs/sget_60.d       |  30 ++
 src/arch/dalvik/opdefs/sget_61.d       |  30 ++
 src/arch/dalvik/opdefs/sget_62.d       |  30 ++
 src/arch/dalvik/opdefs/sget_63.d       |  30 ++
 src/arch/dalvik/opdefs/sget_64.d       |  30 ++
 src/arch/dalvik/opdefs/sget_65.d       |  30 ++
 src/arch/dalvik/opdefs/sget_66.d       |  30 ++
 src/arch/dalvik/opdefs/shl_98.d        |  30 ++
 src/arch/dalvik/opdefs/shl_a3.d        |  30 ++
 src/arch/dalvik/opdefs/shl_b8.d        |  30 ++
 src/arch/dalvik/opdefs/shl_c3.d        |  30 ++
 src/arch/dalvik/opdefs/shl_e0.d        |  30 ++
 src/arch/dalvik/opdefs/shr_99.d        |  30 ++
 src/arch/dalvik/opdefs/shr_a4.d        |  30 ++
 src/arch/dalvik/opdefs/shr_b9.d        |  30 ++
 src/arch/dalvik/opdefs/shr_c4.d        |  30 ++
 src/arch/dalvik/opdefs/shr_e1.d        |  30 ++
 src/arch/dalvik/opdefs/sput_67.d       |  30 ++
 src/arch/dalvik/opdefs/sput_68.d       |  30 ++
 src/arch/dalvik/opdefs/sput_69.d       |  30 ++
 src/arch/dalvik/opdefs/sput_6a.d       |  30 ++
 src/arch/dalvik/opdefs/sput_6b.d       |  30 ++
 src/arch/dalvik/opdefs/sput_6c.d       |  30 ++
 src/arch/dalvik/opdefs/sput_6d.d       |  30 ++
 src/arch/dalvik/opdefs/sub_91.d        |  30 ++
 src/arch/dalvik/opdefs/sub_9c.d        |  30 ++
 src/arch/dalvik/opdefs/sub_a7.d        |  30 ++
 src/arch/dalvik/opdefs/sub_ac.d        |  30 ++
 src/arch/dalvik/opdefs/sub_b1.d        |  30 ++
 src/arch/dalvik/opdefs/sub_bc.d        |  30 ++
 src/arch/dalvik/opdefs/sub_c7.d        |  30 ++
 src/arch/dalvik/opdefs/sub_cc.d        |  30 ++
 src/arch/dalvik/opdefs/switch_2b.d     |  30 ++
 src/arch/dalvik/opdefs/switch_2c.d     |  30 ++
 src/arch/dalvik/opdefs/throw_27.d      |  30 ++
 src/arch/dalvik/opdefs/to_81.d         |  30 ++
 src/arch/dalvik/opdefs/to_82.d         |  30 ++
 src/arch/dalvik/opdefs/to_83.d         |  30 ++
 src/arch/dalvik/opdefs/to_84.d         |  30 ++
 src/arch/dalvik/opdefs/to_85.d         |  30 ++
 src/arch/dalvik/opdefs/to_86.d         |  30 ++
 src/arch/dalvik/opdefs/to_87.d         |  30 ++
 src/arch/dalvik/opdefs/to_88.d         |  30 ++
 src/arch/dalvik/opdefs/to_89.d         |  30 ++
 src/arch/dalvik/opdefs/to_8a.d         |  30 ++
 src/arch/dalvik/opdefs/to_8b.d         |  30 ++
 src/arch/dalvik/opdefs/to_8c.d         |  30 ++
 src/arch/dalvik/opdefs/to_8d.d         |  30 ++
 src/arch/dalvik/opdefs/to_8e.d         |  30 ++
 src/arch/dalvik/opdefs/to_8f.d         |  30 ++
 src/arch/dalvik/opdefs/ushr_9a.d       |  30 ++
 src/arch/dalvik/opdefs/ushr_a5.d       |  30 ++
 src/arch/dalvik/opdefs/ushr_ba.d       |  30 ++
 src/arch/dalvik/opdefs/ushr_c5.d       |  30 ++
 src/arch/dalvik/opdefs/ushr_e2.d       |  30 ++
 src/arch/dalvik/opdefs/xor_97.d        |  30 ++
 src/arch/dalvik/opdefs/xor_a2.d        |  30 ++
 src/arch/dalvik/opdefs/xor_b7.d        |  30 ++
 src/arch/dalvik/opdefs/xor_c2.d        |  30 ++
 src/arch/dalvik/opdefs/xor_d7.d        |  30 ++
 src/arch/dalvik/opdefs/xor_df.d        |  30 ++
 src/arch/dalvik/processor.c            | 198 +++++-----
 src/arch/dalvik/pseudo/fill.c          |  32 +-
 src/arch/dalvik/pseudo/fill.h          |   2 +-
 src/arch/dalvik/pseudo/switch.c        |  35 +-
 src/arch/dalvik/pseudo/switch.h        |   2 +-
 src/arch/processor-int.h               |   2 +-
 src/arch/processor.c                   |   5 +-
 src/arch/processor.h                   |   2 +-
 src/format/dex/method.c                |   2 +-
 src/glibext/gbufferline.c              |  16 +-
 tools/d2c/d2c.mk                       |   2 +-
 277 files changed, 7297 insertions(+), 10333 deletions(-)
 delete mode 100644 src/arch/dalvik/opcodes/add.c
 delete mode 100644 src/arch/dalvik/opcodes/aget.c
 delete mode 100644 src/arch/dalvik/opcodes/and.c
 delete mode 100644 src/arch/dalvik/opcodes/aput.c
 delete mode 100644 src/arch/dalvik/opcodes/array.c
 delete mode 100644 src/arch/dalvik/opcodes/check.c
 delete mode 100644 src/arch/dalvik/opcodes/cmp.c
 delete mode 100644 src/arch/dalvik/opcodes/const.c
 delete mode 100644 src/arch/dalvik/opcodes/div.c
 delete mode 100644 src/arch/dalvik/opcodes/goto.c
 delete mode 100644 src/arch/dalvik/opcodes/if.c
 delete mode 100644 src/arch/dalvik/opcodes/iget.c
 delete mode 100644 src/arch/dalvik/opcodes/instanceof.c
 delete mode 100644 src/arch/dalvik/opcodes/invoke.c
 delete mode 100644 src/arch/dalvik/opcodes/iput.c
 delete mode 100644 src/arch/dalvik/opcodes/monitor.c
 delete mode 100644 src/arch/dalvik/opcodes/move.c
 delete mode 100644 src/arch/dalvik/opcodes/mul.c
 delete mode 100644 src/arch/dalvik/opcodes/neg.c
 delete mode 100644 src/arch/dalvik/opcodes/new.c
 delete mode 100644 src/arch/dalvik/opcodes/nop.c
 delete mode 100644 src/arch/dalvik/opcodes/not.c
 delete mode 100644 src/arch/dalvik/opcodes/opcodes.h
 delete mode 100644 src/arch/dalvik/opcodes/or.c
 delete mode 100644 src/arch/dalvik/opcodes/rem.c
 delete mode 100644 src/arch/dalvik/opcodes/ret.c
 delete mode 100644 src/arch/dalvik/opcodes/rsub.c
 delete mode 100644 src/arch/dalvik/opcodes/sget.c
 delete mode 100644 src/arch/dalvik/opcodes/shl.c
 delete mode 100644 src/arch/dalvik/opcodes/shr.c
 delete mode 100644 src/arch/dalvik/opcodes/sput.c
 delete mode 100644 src/arch/dalvik/opcodes/sub.c
 delete mode 100644 src/arch/dalvik/opcodes/switch.c
 delete mode 100644 src/arch/dalvik/opcodes/throw.c
 delete mode 100644 src/arch/dalvik/opcodes/to.c
 delete mode 100644 src/arch/dalvik/opcodes/ushr.c
 delete mode 100644 src/arch/dalvik/opcodes/xor.c
 create mode 100644 src/arch/dalvik/opdefs/Makefile.am
 create mode 100644 src/arch/dalvik/opdefs/add_90.d
 create mode 100644 src/arch/dalvik/opdefs/add_9b.d
 create mode 100644 src/arch/dalvik/opdefs/add_a6.d
 create mode 100644 src/arch/dalvik/opdefs/add_ab.d
 create mode 100644 src/arch/dalvik/opdefs/add_b0.d
 create mode 100644 src/arch/dalvik/opdefs/add_bb.d
 create mode 100644 src/arch/dalvik/opdefs/add_c6.d
 create mode 100644 src/arch/dalvik/opdefs/add_cb.d
 create mode 100644 src/arch/dalvik/opdefs/add_d0.d
 create mode 100644 src/arch/dalvik/opdefs/add_d8.d
 create mode 100644 src/arch/dalvik/opdefs/aget_44.d
 create mode 100644 src/arch/dalvik/opdefs/aget_45.d
 create mode 100644 src/arch/dalvik/opdefs/aget_46.d
 create mode 100644 src/arch/dalvik/opdefs/aget_47.d
 create mode 100644 src/arch/dalvik/opdefs/aget_48.d
 create mode 100644 src/arch/dalvik/opdefs/aget_49.d
 create mode 100644 src/arch/dalvik/opdefs/aget_4a.d
 create mode 100644 src/arch/dalvik/opdefs/and_95.d
 create mode 100644 src/arch/dalvik/opdefs/and_a0.d
 create mode 100644 src/arch/dalvik/opdefs/and_b5.d
 create mode 100644 src/arch/dalvik/opdefs/and_c0.d
 create mode 100644 src/arch/dalvik/opdefs/and_d5.d
 create mode 100644 src/arch/dalvik/opdefs/and_dd.d
 create mode 100644 src/arch/dalvik/opdefs/aput_4b.d
 create mode 100644 src/arch/dalvik/opdefs/aput_4c.d
 create mode 100644 src/arch/dalvik/opdefs/aput_4d.d
 create mode 100644 src/arch/dalvik/opdefs/aput_4e.d
 create mode 100644 src/arch/dalvik/opdefs/aput_4f.d
 create mode 100644 src/arch/dalvik/opdefs/aput_50.d
 create mode 100644 src/arch/dalvik/opdefs/aput_51.d
 create mode 100644 src/arch/dalvik/opdefs/array_21.d
 create mode 100644 src/arch/dalvik/opdefs/array_24.d
 create mode 100644 src/arch/dalvik/opdefs/array_26.d
 create mode 100644 src/arch/dalvik/opdefs/check_1f.d
 create mode 100644 src/arch/dalvik/opdefs/cmp_31.d
 create mode 100644 src/arch/dalvik/opdefs/cmpg_2e.d
 create mode 100644 src/arch/dalvik/opdefs/cmpg_30.d
 create mode 100644 src/arch/dalvik/opdefs/cmpl_2d.d
 create mode 100644 src/arch/dalvik/opdefs/cmpl_2f.d
 create mode 100644 src/arch/dalvik/opdefs/const_12.d
 create mode 100644 src/arch/dalvik/opdefs/const_13.d
 create mode 100644 src/arch/dalvik/opdefs/const_14.d
 create mode 100644 src/arch/dalvik/opdefs/const_15.d
 create mode 100644 src/arch/dalvik/opdefs/const_16.d
 create mode 100644 src/arch/dalvik/opdefs/const_17.d
 create mode 100644 src/arch/dalvik/opdefs/const_18.d
 create mode 100644 src/arch/dalvik/opdefs/const_19.d
 create mode 100644 src/arch/dalvik/opdefs/const_1a.d
 create mode 100644 src/arch/dalvik/opdefs/const_1b.d
 create mode 100644 src/arch/dalvik/opdefs/const_1c.d
 create mode 100644 src/arch/dalvik/opdefs/div_93.d
 create mode 100644 src/arch/dalvik/opdefs/div_9e.d
 create mode 100644 src/arch/dalvik/opdefs/div_a9.d
 create mode 100644 src/arch/dalvik/opdefs/div_ae.d
 create mode 100644 src/arch/dalvik/opdefs/div_b3.d
 create mode 100644 src/arch/dalvik/opdefs/div_be.d
 create mode 100644 src/arch/dalvik/opdefs/div_c9.d
 create mode 100644 src/arch/dalvik/opdefs/div_ce.d
 create mode 100644 src/arch/dalvik/opdefs/div_d3.d
 create mode 100644 src/arch/dalvik/opdefs/div_db.d
 create mode 100644 src/arch/dalvik/opdefs/filled_25.d
 create mode 100644 src/arch/dalvik/opdefs/goto_28.d
 create mode 100644 src/arch/dalvik/opdefs/goto_29.d
 create mode 100644 src/arch/dalvik/opdefs/goto_2a.d
 create mode 100644 src/arch/dalvik/opdefs/if_32.d
 create mode 100644 src/arch/dalvik/opdefs/if_33.d
 create mode 100644 src/arch/dalvik/opdefs/if_34.d
 create mode 100644 src/arch/dalvik/opdefs/if_35.d
 create mode 100644 src/arch/dalvik/opdefs/if_36.d
 create mode 100644 src/arch/dalvik/opdefs/if_37.d
 create mode 100644 src/arch/dalvik/opdefs/if_38.d
 create mode 100644 src/arch/dalvik/opdefs/if_39.d
 create mode 100644 src/arch/dalvik/opdefs/if_3a.d
 create mode 100644 src/arch/dalvik/opdefs/if_3b.d
 create mode 100644 src/arch/dalvik/opdefs/if_3c.d
 create mode 100644 src/arch/dalvik/opdefs/if_3d.d
 create mode 100644 src/arch/dalvik/opdefs/iget_52.d
 create mode 100644 src/arch/dalvik/opdefs/iget_53.d
 create mode 100644 src/arch/dalvik/opdefs/iget_54.d
 create mode 100644 src/arch/dalvik/opdefs/iget_55.d
 create mode 100644 src/arch/dalvik/opdefs/iget_56.d
 create mode 100644 src/arch/dalvik/opdefs/iget_57.d
 create mode 100644 src/arch/dalvik/opdefs/iget_58.d
 create mode 100644 src/arch/dalvik/opdefs/instanceof_20.d
 create mode 100644 src/arch/dalvik/opdefs/invoke_6e.d
 create mode 100644 src/arch/dalvik/opdefs/invoke_6f.d
 create mode 100644 src/arch/dalvik/opdefs/invoke_70.d
 create mode 100644 src/arch/dalvik/opdefs/invoke_71.d
 create mode 100644 src/arch/dalvik/opdefs/invoke_72.d
 create mode 100644 src/arch/dalvik/opdefs/invoke_74.d
 create mode 100644 src/arch/dalvik/opdefs/invoke_75.d
 create mode 100644 src/arch/dalvik/opdefs/invoke_76.d
 create mode 100644 src/arch/dalvik/opdefs/invoke_77.d
 create mode 100644 src/arch/dalvik/opdefs/invoke_78.d
 create mode 100644 src/arch/dalvik/opdefs/iput_59.d
 create mode 100644 src/arch/dalvik/opdefs/iput_5a.d
 create mode 100644 src/arch/dalvik/opdefs/iput_5b.d
 create mode 100644 src/arch/dalvik/opdefs/iput_5c.d
 create mode 100644 src/arch/dalvik/opdefs/iput_5d.d
 create mode 100644 src/arch/dalvik/opdefs/iput_5e.d
 create mode 100644 src/arch/dalvik/opdefs/iput_5f.d
 create mode 100644 src/arch/dalvik/opdefs/monitor_1d.d
 create mode 100644 src/arch/dalvik/opdefs/monitor_1e.d
 create mode 100644 src/arch/dalvik/opdefs/move_01.d
 create mode 100644 src/arch/dalvik/opdefs/move_02.d
 create mode 100644 src/arch/dalvik/opdefs/move_03.d
 create mode 100644 src/arch/dalvik/opdefs/move_04.d
 create mode 100644 src/arch/dalvik/opdefs/move_05.d
 create mode 100644 src/arch/dalvik/opdefs/move_06.d
 create mode 100644 src/arch/dalvik/opdefs/move_07.d
 create mode 100644 src/arch/dalvik/opdefs/move_08.d
 create mode 100644 src/arch/dalvik/opdefs/move_09.d
 create mode 100644 src/arch/dalvik/opdefs/move_0a.d
 create mode 100644 src/arch/dalvik/opdefs/move_0b.d
 create mode 100644 src/arch/dalvik/opdefs/move_0c.d
 create mode 100644 src/arch/dalvik/opdefs/move_0d.d
 create mode 100644 src/arch/dalvik/opdefs/mul_92.d
 create mode 100644 src/arch/dalvik/opdefs/mul_9d.d
 create mode 100644 src/arch/dalvik/opdefs/mul_a8.d
 create mode 100644 src/arch/dalvik/opdefs/mul_ad.d
 create mode 100644 src/arch/dalvik/opdefs/mul_b2.d
 create mode 100644 src/arch/dalvik/opdefs/mul_bd.d
 create mode 100644 src/arch/dalvik/opdefs/mul_c8.d
 create mode 100644 src/arch/dalvik/opdefs/mul_cd.d
 create mode 100644 src/arch/dalvik/opdefs/mul_d2.d
 create mode 100644 src/arch/dalvik/opdefs/mul_da.d
 create mode 100644 src/arch/dalvik/opdefs/neg_7b.d
 create mode 100644 src/arch/dalvik/opdefs/neg_7d.d
 create mode 100644 src/arch/dalvik/opdefs/neg_7f.d
 create mode 100644 src/arch/dalvik/opdefs/neg_80.d
 create mode 100644 src/arch/dalvik/opdefs/new_22.d
 create mode 100644 src/arch/dalvik/opdefs/new_23.d
 create mode 100644 src/arch/dalvik/opdefs/nop_00.d
 create mode 100644 src/arch/dalvik/opdefs/not_7c.d
 create mode 100644 src/arch/dalvik/opdefs/not_7e.d
 create mode 100644 src/arch/dalvik/opdefs/or_96.d
 create mode 100644 src/arch/dalvik/opdefs/or_a1.d
 create mode 100644 src/arch/dalvik/opdefs/or_b6.d
 create mode 100644 src/arch/dalvik/opdefs/or_c1.d
 create mode 100644 src/arch/dalvik/opdefs/or_d6.d
 create mode 100644 src/arch/dalvik/opdefs/or_de.d
 create mode 100644 src/arch/dalvik/opdefs/rem_94.d
 create mode 100644 src/arch/dalvik/opdefs/rem_9f.d
 create mode 100644 src/arch/dalvik/opdefs/rem_aa.d
 create mode 100644 src/arch/dalvik/opdefs/rem_af.d
 create mode 100644 src/arch/dalvik/opdefs/rem_b4.d
 create mode 100644 src/arch/dalvik/opdefs/rem_bf.d
 create mode 100644 src/arch/dalvik/opdefs/rem_ca.d
 create mode 100644 src/arch/dalvik/opdefs/rem_cf.d
 create mode 100644 src/arch/dalvik/opdefs/rem_d4.d
 create mode 100644 src/arch/dalvik/opdefs/rem_dc.d
 create mode 100644 src/arch/dalvik/opdefs/return_0e.d
 create mode 100644 src/arch/dalvik/opdefs/return_0f.d
 create mode 100644 src/arch/dalvik/opdefs/return_10.d
 create mode 100644 src/arch/dalvik/opdefs/return_11.d
 create mode 100644 src/arch/dalvik/opdefs/rsub_d1.d
 create mode 100644 src/arch/dalvik/opdefs/rsub_d9.d
 create mode 100644 src/arch/dalvik/opdefs/sget_60.d
 create mode 100644 src/arch/dalvik/opdefs/sget_61.d
 create mode 100644 src/arch/dalvik/opdefs/sget_62.d
 create mode 100644 src/arch/dalvik/opdefs/sget_63.d
 create mode 100644 src/arch/dalvik/opdefs/sget_64.d
 create mode 100644 src/arch/dalvik/opdefs/sget_65.d
 create mode 100644 src/arch/dalvik/opdefs/sget_66.d
 create mode 100644 src/arch/dalvik/opdefs/shl_98.d
 create mode 100644 src/arch/dalvik/opdefs/shl_a3.d
 create mode 100644 src/arch/dalvik/opdefs/shl_b8.d
 create mode 100644 src/arch/dalvik/opdefs/shl_c3.d
 create mode 100644 src/arch/dalvik/opdefs/shl_e0.d
 create mode 100644 src/arch/dalvik/opdefs/shr_99.d
 create mode 100644 src/arch/dalvik/opdefs/shr_a4.d
 create mode 100644 src/arch/dalvik/opdefs/shr_b9.d
 create mode 100644 src/arch/dalvik/opdefs/shr_c4.d
 create mode 100644 src/arch/dalvik/opdefs/shr_e1.d
 create mode 100644 src/arch/dalvik/opdefs/sput_67.d
 create mode 100644 src/arch/dalvik/opdefs/sput_68.d
 create mode 100644 src/arch/dalvik/opdefs/sput_69.d
 create mode 100644 src/arch/dalvik/opdefs/sput_6a.d
 create mode 100644 src/arch/dalvik/opdefs/sput_6b.d
 create mode 100644 src/arch/dalvik/opdefs/sput_6c.d
 create mode 100644 src/arch/dalvik/opdefs/sput_6d.d
 create mode 100644 src/arch/dalvik/opdefs/sub_91.d
 create mode 100644 src/arch/dalvik/opdefs/sub_9c.d
 create mode 100644 src/arch/dalvik/opdefs/sub_a7.d
 create mode 100644 src/arch/dalvik/opdefs/sub_ac.d
 create mode 100644 src/arch/dalvik/opdefs/sub_b1.d
 create mode 100644 src/arch/dalvik/opdefs/sub_bc.d
 create mode 100644 src/arch/dalvik/opdefs/sub_c7.d
 create mode 100644 src/arch/dalvik/opdefs/sub_cc.d
 create mode 100644 src/arch/dalvik/opdefs/switch_2b.d
 create mode 100644 src/arch/dalvik/opdefs/switch_2c.d
 create mode 100644 src/arch/dalvik/opdefs/throw_27.d
 create mode 100644 src/arch/dalvik/opdefs/to_81.d
 create mode 100644 src/arch/dalvik/opdefs/to_82.d
 create mode 100644 src/arch/dalvik/opdefs/to_83.d
 create mode 100644 src/arch/dalvik/opdefs/to_84.d
 create mode 100644 src/arch/dalvik/opdefs/to_85.d
 create mode 100644 src/arch/dalvik/opdefs/to_86.d
 create mode 100644 src/arch/dalvik/opdefs/to_87.d
 create mode 100644 src/arch/dalvik/opdefs/to_88.d
 create mode 100644 src/arch/dalvik/opdefs/to_89.d
 create mode 100644 src/arch/dalvik/opdefs/to_8a.d
 create mode 100644 src/arch/dalvik/opdefs/to_8b.d
 create mode 100644 src/arch/dalvik/opdefs/to_8c.d
 create mode 100644 src/arch/dalvik/opdefs/to_8d.d
 create mode 100644 src/arch/dalvik/opdefs/to_8e.d
 create mode 100644 src/arch/dalvik/opdefs/to_8f.d
 create mode 100644 src/arch/dalvik/opdefs/ushr_9a.d
 create mode 100644 src/arch/dalvik/opdefs/ushr_a5.d
 create mode 100644 src/arch/dalvik/opdefs/ushr_ba.d
 create mode 100644 src/arch/dalvik/opdefs/ushr_c5.d
 create mode 100644 src/arch/dalvik/opdefs/ushr_e2.d
 create mode 100644 src/arch/dalvik/opdefs/xor_97.d
 create mode 100644 src/arch/dalvik/opdefs/xor_a2.d
 create mode 100644 src/arch/dalvik/opdefs/xor_b7.d
 create mode 100644 src/arch/dalvik/opdefs/xor_c2.d
 create mode 100644 src/arch/dalvik/opdefs/xor_d7.d
 create mode 100644 src/arch/dalvik/opdefs/xor_df.d

diff --git a/.gitignore b/.gitignore
index 8461547..7581b5f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -58,6 +58,7 @@ __pycache__
 .gen/
 fmk.done
 src/arch/arm/v7/opcodes/
+src/arch/dalvik/opcodes/
 
 # GLib
 src/glibext/chrysamarshal.*
diff --git a/ChangeLog b/ChangeLog
index 8d049fc..d6d3e0b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,310 @@
+16-02-01  Cyrille Bagard <nocbos@gmail.com>
+
+	* .gitignore:
+	Ignore all the opcodes generated by d2c for Dalvik.
+
+	* configure.ac:
+	Add the new Makefile from the 'src/arch/dalvik/opdefs' directory.
+
+	* plugins/ropgadgets/finder.c:
+	* src/analysis/disass/area.c:
+	* src/arch/arm/v7/processor.c:
+	Update code.
+
+	* src/arch/dalvik/Makefile.am:
+	Add the new directory 'opdefs' into SUBDIRS.
+
+	* src/arch/dalvik/instruction.c:
+	* src/arch/dalvik/instruction.h:
+	Remove useless functions and some internal accesses to the old table
+	called '_instructions'.
+
+	* src/arch/dalvik/opcodes/Makefile.am:
+	Update code.
+
+	* src/arch/dalvik/opcodes/add.c:
+	* src/arch/dalvik/opcodes/aget.c:
+	* src/arch/dalvik/opcodes/and.c:
+	* src/arch/dalvik/opcodes/aput.c:
+	* src/arch/dalvik/opcodes/array.c:
+	* src/arch/dalvik/opcodes/check.c:
+	* src/arch/dalvik/opcodes/cmp.c:
+	* src/arch/dalvik/opcodes/const.c:
+	* src/arch/dalvik/opcodes/div.c:
+	* src/arch/dalvik/opcodes/goto.c:
+	* src/arch/dalvik/opcodes/if.c:
+	* src/arch/dalvik/opcodes/iget.c:
+	* src/arch/dalvik/opcodes/instanceof.c:
+	* src/arch/dalvik/opcodes/invoke.c:
+	* src/arch/dalvik/opcodes/iput.c:
+	* src/arch/dalvik/opcodes/monitor.c:
+	* src/arch/dalvik/opcodes/move.c:
+	* src/arch/dalvik/opcodes/mul.c:
+	* src/arch/dalvik/opcodes/neg.c:
+	* src/arch/dalvik/opcodes/new.c:
+	* src/arch/dalvik/opcodes/nop.c:
+	* src/arch/dalvik/opcodes/not.c:
+	* src/arch/dalvik/opcodes/opcodes.h:
+	* src/arch/dalvik/opcodes/or.c:
+	* src/arch/dalvik/opcodes/rem.c:
+	* src/arch/dalvik/opcodes/ret.c:
+	* src/arch/dalvik/opcodes/rsub.c:
+	* src/arch/dalvik/opcodes/sget.c:
+	* src/arch/dalvik/opcodes/shl.c:
+	* src/arch/dalvik/opcodes/shr.c:
+	* src/arch/dalvik/opcodes/sput.c:
+	* src/arch/dalvik/opcodes/sub.c:
+	* src/arch/dalvik/opcodes/switch.c:
+	* src/arch/dalvik/opcodes/throw.c:
+	* src/arch/dalvik/opcodes/to.c:
+	* src/arch/dalvik/opcodes/ushr.c:
+	* src/arch/dalvik/opcodes/xor.c:
+	Deleted entries.
+
+	* src/arch/dalvik/opdefs/Makefile.am:
+	* src/arch/dalvik/opdefs/add_90.d:
+	* src/arch/dalvik/opdefs/add_9b.d:
+	* src/arch/dalvik/opdefs/add_a6.d:
+	* src/arch/dalvik/opdefs/add_ab.d:
+	* src/arch/dalvik/opdefs/add_b0.d:
+	* src/arch/dalvik/opdefs/add_bb.d:
+	* src/arch/dalvik/opdefs/add_c6.d:
+	* src/arch/dalvik/opdefs/add_cb.d:
+	* src/arch/dalvik/opdefs/add_d0.d:
+	* src/arch/dalvik/opdefs/add_d8.d:
+	* src/arch/dalvik/opdefs/aget_44.d:
+	* src/arch/dalvik/opdefs/aget_45.d:
+	* src/arch/dalvik/opdefs/aget_46.d:
+	* src/arch/dalvik/opdefs/aget_47.d:
+	* src/arch/dalvik/opdefs/aget_48.d:
+	* src/arch/dalvik/opdefs/aget_49.d:
+	* src/arch/dalvik/opdefs/aget_4a.d:
+	* src/arch/dalvik/opdefs/and_95.d:
+	* src/arch/dalvik/opdefs/and_a0.d:
+	* src/arch/dalvik/opdefs/and_b5.d:
+	* src/arch/dalvik/opdefs/and_c0.d:
+	* src/arch/dalvik/opdefs/and_d5.d:
+	* src/arch/dalvik/opdefs/and_dd.d:
+	* src/arch/dalvik/opdefs/aput_4b.d:
+	* src/arch/dalvik/opdefs/aput_4c.d:
+	* src/arch/dalvik/opdefs/aput_4d.d:
+	* src/arch/dalvik/opdefs/aput_4e.d:
+	* src/arch/dalvik/opdefs/aput_4f.d:
+	* src/arch/dalvik/opdefs/aput_50.d:
+	* src/arch/dalvik/opdefs/aput_51.d:
+	* src/arch/dalvik/opdefs/array_21.d:
+	* src/arch/dalvik/opdefs/array_24.d:
+	* src/arch/dalvik/opdefs/array_26.d:
+	* src/arch/dalvik/opdefs/check_1f.d:
+	* src/arch/dalvik/opdefs/cmp_31.d:
+	* src/arch/dalvik/opdefs/cmpg_2e.d:
+	* src/arch/dalvik/opdefs/cmpg_30.d:
+	* src/arch/dalvik/opdefs/cmpl_2d.d:
+	* src/arch/dalvik/opdefs/cmpl_2f.d:
+	* src/arch/dalvik/opdefs/const_12.d:
+	* src/arch/dalvik/opdefs/const_13.d:
+	* src/arch/dalvik/opdefs/const_14.d:
+	* src/arch/dalvik/opdefs/const_15.d:
+	* src/arch/dalvik/opdefs/const_16.d:
+	* src/arch/dalvik/opdefs/const_17.d:
+	* src/arch/dalvik/opdefs/const_18.d:
+	* src/arch/dalvik/opdefs/const_19.d:
+	* src/arch/dalvik/opdefs/const_1a.d:
+	* src/arch/dalvik/opdefs/const_1b.d:
+	* src/arch/dalvik/opdefs/const_1c.d:
+	* src/arch/dalvik/opdefs/div_93.d:
+	* src/arch/dalvik/opdefs/div_9e.d:
+	* src/arch/dalvik/opdefs/div_a9.d:
+	* src/arch/dalvik/opdefs/div_ae.d:
+	* src/arch/dalvik/opdefs/div_b3.d:
+	* src/arch/dalvik/opdefs/div_be.d:
+	* src/arch/dalvik/opdefs/div_c9.d:
+	* src/arch/dalvik/opdefs/div_ce.d:
+	* src/arch/dalvik/opdefs/div_d3.d:
+	* src/arch/dalvik/opdefs/div_db.d:
+	* src/arch/dalvik/opdefs/filled_25.d:
+	* src/arch/dalvik/opdefs/goto_28.d:
+	* src/arch/dalvik/opdefs/goto_29.d:
+	* src/arch/dalvik/opdefs/goto_2a.d:
+	* src/arch/dalvik/opdefs/if_32.d:
+	* src/arch/dalvik/opdefs/if_33.d:
+	* src/arch/dalvik/opdefs/if_34.d:
+	* src/arch/dalvik/opdefs/if_35.d:
+	* src/arch/dalvik/opdefs/if_36.d:
+	* src/arch/dalvik/opdefs/if_37.d:
+	* src/arch/dalvik/opdefs/if_38.d:
+	* src/arch/dalvik/opdefs/if_39.d:
+	* src/arch/dalvik/opdefs/if_3a.d:
+	* src/arch/dalvik/opdefs/if_3b.d:
+	* src/arch/dalvik/opdefs/if_3c.d:
+	* src/arch/dalvik/opdefs/if_3d.d:
+	* src/arch/dalvik/opdefs/iget_52.d:
+	* src/arch/dalvik/opdefs/iget_53.d:
+	* src/arch/dalvik/opdefs/iget_54.d:
+	* src/arch/dalvik/opdefs/iget_55.d:
+	* src/arch/dalvik/opdefs/iget_56.d:
+	* src/arch/dalvik/opdefs/iget_57.d:
+	* src/arch/dalvik/opdefs/iget_58.d:
+	* src/arch/dalvik/opdefs/instanceof_20.d:
+	* src/arch/dalvik/opdefs/invoke_6e.d:
+	* src/arch/dalvik/opdefs/invoke_6f.d:
+	* src/arch/dalvik/opdefs/invoke_70.d:
+	* src/arch/dalvik/opdefs/invoke_71.d:
+	* src/arch/dalvik/opdefs/invoke_72.d:
+	* src/arch/dalvik/opdefs/invoke_74.d:
+	* src/arch/dalvik/opdefs/invoke_75.d:
+	* src/arch/dalvik/opdefs/invoke_76.d:
+	* src/arch/dalvik/opdefs/invoke_77.d:
+	* src/arch/dalvik/opdefs/invoke_78.d:
+	* src/arch/dalvik/opdefs/iput_59.d:
+	* src/arch/dalvik/opdefs/iput_5a.d:
+	* src/arch/dalvik/opdefs/iput_5b.d:
+	* src/arch/dalvik/opdefs/iput_5c.d:
+	* src/arch/dalvik/opdefs/iput_5d.d:
+	* src/arch/dalvik/opdefs/iput_5e.d:
+	* src/arch/dalvik/opdefs/iput_5f.d:
+	* src/arch/dalvik/opdefs/monitor_1d.d:
+	* src/arch/dalvik/opdefs/monitor_1e.d:
+	* src/arch/dalvik/opdefs/move_01.d:
+	* src/arch/dalvik/opdefs/move_02.d:
+	* src/arch/dalvik/opdefs/move_03.d:
+	* src/arch/dalvik/opdefs/move_04.d:
+	* src/arch/dalvik/opdefs/move_05.d:
+	* src/arch/dalvik/opdefs/move_06.d:
+	* src/arch/dalvik/opdefs/move_07.d:
+	* src/arch/dalvik/opdefs/move_08.d:
+	* src/arch/dalvik/opdefs/move_09.d:
+	* src/arch/dalvik/opdefs/move_0a.d:
+	* src/arch/dalvik/opdefs/move_0b.d:
+	* src/arch/dalvik/opdefs/move_0c.d:
+	* src/arch/dalvik/opdefs/move_0d.d:
+	* src/arch/dalvik/opdefs/mul_92.d:
+	* src/arch/dalvik/opdefs/mul_9d.d:
+	* src/arch/dalvik/opdefs/mul_a8.d:
+	* src/arch/dalvik/opdefs/mul_ad.d:
+	* src/arch/dalvik/opdefs/mul_b2.d:
+	* src/arch/dalvik/opdefs/mul_bd.d:
+	* src/arch/dalvik/opdefs/mul_c8.d:
+	* src/arch/dalvik/opdefs/mul_cd.d:
+	* src/arch/dalvik/opdefs/mul_d2.d:
+	* src/arch/dalvik/opdefs/mul_da.d:
+	* src/arch/dalvik/opdefs/neg_7b.d:
+	* src/arch/dalvik/opdefs/neg_7d.d:
+	* src/arch/dalvik/opdefs/neg_7f.d:
+	* src/arch/dalvik/opdefs/neg_80.d:
+	* src/arch/dalvik/opdefs/new_22.d:
+	* src/arch/dalvik/opdefs/new_23.d:
+	* src/arch/dalvik/opdefs/nop_00.d:
+	* src/arch/dalvik/opdefs/not_7c.d:
+	* src/arch/dalvik/opdefs/not_7e.d:
+	* src/arch/dalvik/opdefs/or_96.d:
+	* src/arch/dalvik/opdefs/or_a1.d:
+	* src/arch/dalvik/opdefs/or_b6.d:
+	* src/arch/dalvik/opdefs/or_c1.d:
+	* src/arch/dalvik/opdefs/or_d6.d:
+	* src/arch/dalvik/opdefs/or_de.d:
+	* src/arch/dalvik/opdefs/rem_94.d:
+	* src/arch/dalvik/opdefs/rem_9f.d:
+	* src/arch/dalvik/opdefs/rem_aa.d:
+	* src/arch/dalvik/opdefs/rem_af.d:
+	* src/arch/dalvik/opdefs/rem_b4.d:
+	* src/arch/dalvik/opdefs/rem_bf.d:
+	* src/arch/dalvik/opdefs/rem_ca.d:
+	* src/arch/dalvik/opdefs/rem_cf.d:
+	* src/arch/dalvik/opdefs/rem_d4.d:
+	* src/arch/dalvik/opdefs/rem_dc.d:
+	* src/arch/dalvik/opdefs/return_0e.d:
+	* src/arch/dalvik/opdefs/return_0f.d:
+	* src/arch/dalvik/opdefs/return_10.d:
+	* src/arch/dalvik/opdefs/return_11.d:
+	* src/arch/dalvik/opdefs/rsub_d1.d:
+	* src/arch/dalvik/opdefs/rsub_d9.d:
+	* src/arch/dalvik/opdefs/sget_60.d:
+	* src/arch/dalvik/opdefs/sget_61.d:
+	* src/arch/dalvik/opdefs/sget_62.d:
+	* src/arch/dalvik/opdefs/sget_63.d:
+	* src/arch/dalvik/opdefs/sget_64.d:
+	* src/arch/dalvik/opdefs/sget_65.d:
+	* src/arch/dalvik/opdefs/sget_66.d:
+	* src/arch/dalvik/opdefs/shl_98.d:
+	* src/arch/dalvik/opdefs/shl_a3.d:
+	* src/arch/dalvik/opdefs/shl_b8.d:
+	* src/arch/dalvik/opdefs/shl_c3.d:
+	* src/arch/dalvik/opdefs/shl_e0.d:
+	* src/arch/dalvik/opdefs/shr_99.d:
+	* src/arch/dalvik/opdefs/shr_a4.d:
+	* src/arch/dalvik/opdefs/shr_b9.d:
+	* src/arch/dalvik/opdefs/shr_c4.d:
+	* src/arch/dalvik/opdefs/shr_e1.d:
+	* src/arch/dalvik/opdefs/sput_67.d:
+	* src/arch/dalvik/opdefs/sput_68.d:
+	* src/arch/dalvik/opdefs/sput_69.d:
+	* src/arch/dalvik/opdefs/sput_6a.d:
+	* src/arch/dalvik/opdefs/sput_6b.d:
+	* src/arch/dalvik/opdefs/sput_6c.d:
+	* src/arch/dalvik/opdefs/sput_6d.d:
+	* src/arch/dalvik/opdefs/sub_91.d:
+	* src/arch/dalvik/opdefs/sub_9c.d:
+	* src/arch/dalvik/opdefs/sub_a7.d:
+	* src/arch/dalvik/opdefs/sub_ac.d:
+	* src/arch/dalvik/opdefs/sub_b1.d:
+	* src/arch/dalvik/opdefs/sub_bc.d:
+	* src/arch/dalvik/opdefs/sub_c7.d:
+	* src/arch/dalvik/opdefs/sub_cc.d:
+	* src/arch/dalvik/opdefs/switch_2b.d:
+	* src/arch/dalvik/opdefs/switch_2c.d:
+	* src/arch/dalvik/opdefs/throw_27.d:
+	* src/arch/dalvik/opdefs/to_81.d:
+	* src/arch/dalvik/opdefs/to_82.d:
+	* src/arch/dalvik/opdefs/to_83.d:
+	* src/arch/dalvik/opdefs/to_84.d:
+	* src/arch/dalvik/opdefs/to_85.d:
+	* src/arch/dalvik/opdefs/to_86.d:
+	* src/arch/dalvik/opdefs/to_87.d:
+	* src/arch/dalvik/opdefs/to_88.d:
+	* src/arch/dalvik/opdefs/to_89.d:
+	* src/arch/dalvik/opdefs/to_8a.d:
+	* src/arch/dalvik/opdefs/to_8b.d:
+	* src/arch/dalvik/opdefs/to_8c.d:
+	* src/arch/dalvik/opdefs/to_8d.d:
+	* src/arch/dalvik/opdefs/to_8e.d:
+	* src/arch/dalvik/opdefs/to_8f.d:
+	* src/arch/dalvik/opdefs/ushr_9a.d:
+	* src/arch/dalvik/opdefs/ushr_a5.d:
+	* src/arch/dalvik/opdefs/ushr_ba.d:
+	* src/arch/dalvik/opdefs/ushr_c5.d:
+	* src/arch/dalvik/opdefs/ushr_e2.d:
+	* src/arch/dalvik/opdefs/xor_97.d:
+	* src/arch/dalvik/opdefs/xor_a2.d:
+	* src/arch/dalvik/opdefs/xor_b7.d:
+	* src/arch/dalvik/opdefs/xor_c2.d:
+	* src/arch/dalvik/opdefs/xor_d7.d:
+	* src/arch/dalvik/opdefs/xor_df.d:
+	New entries: define all Dalvik instructions to get generated by d2c.
+
+	* src/arch/dalvik/processor.c:
+	Update the decoding of Dalvik instructions.
+
+	* src/arch/dalvik/pseudo/fill.c:
+	* src/arch/dalvik/pseudo/fill.h:
+	* src/arch/dalvik/pseudo/switch.c:
+	* src/arch/dalvik/pseudo/switch.h:
+	Update the code. Disable some functions to get the program working.
+
+	* src/arch/processor-int.h:
+	* src/arch/processor.c:
+	* src/arch/processor.h:
+	Provide the relative binary format when disassembling instructions.
+
+	* src/format/dex/method.c:
+	Typo.
+
+	* src/glibext/gbufferline.c:
+	Avoid to define empty segment in some extreme cases.
+
+	* tools/d2c/d2c.mk:
+	Typo.
+
 16-01-30  Cyrille Bagard <nocbos@gmail.com>
 
 	* configure.ac:
diff --git a/configure.ac b/configure.ac
index 948d612..30ad629 100644
--- a/configure.ac
+++ b/configure.ac
@@ -313,6 +313,7 @@ AC_CONFIG_FILES([Makefile
                  src/arch/arm/v7/operands/Makefile
                  src/arch/dalvik/Makefile
                  src/arch/dalvik/decomp/Makefile
+                 src/arch/dalvik/opdefs/Makefile
                  src/arch/dalvik/opcodes/Makefile
                  src/arch/dalvik/operands/Makefile
                  src/arch/dalvik/pseudo/Makefile
diff --git a/plugins/ropgadgets/finder.c b/plugins/ropgadgets/finder.c
index 3fbc0fd..35d1f7f 100644
--- a/plugins/ropgadgets/finder.c
+++ b/plugins/ropgadgets/finder.c
@@ -86,7 +86,7 @@ static GArchInstruction *disassemble_instruction_in_domain(const search_domain *
 
     ctx = domain->ctx;  /* TODO : copie */
 
-    result = g_arch_processor_disassemble(domain->proc, ctx, domain->content, pos);
+    result = g_arch_processor_disassemble(domain->proc, ctx, domain->content, pos, G_EXE_FORMAT(domain->format));
 
     if (result != NULL)
     {
diff --git a/src/analysis/disass/area.c b/src/analysis/disass/area.c
index eddad5c..c2fee99 100644
--- a/src/analysis/disass/area.c
+++ b/src/analysis/disass/area.c
@@ -360,7 +360,7 @@ void load_code_from_mem_area_v2(mem_area_v2 *area, mem_area_v2 *list, size_t cou
 
         copy_vmpa(&prev, &pos);
 
-        instr = g_arch_processor_disassemble(proc, ctx, content, &pos);
+        instr = g_arch_processor_disassemble(proc, ctx, content, &pos, G_EXE_FORMAT(format));
         if (instr == NULL) break;
 
         /* Enregistrement des positions et adresses */
@@ -1640,7 +1640,7 @@ bool load_code_from_mem_area(mem_area **list, size_t *count, size_t *index, cons
 
         copy_vmpa(&prev, &pos);
 
-        instr = g_arch_processor_disassemble(proc, ctx, content, &pos);
+        instr = g_arch_processor_disassemble(proc, ctx, content, &pos, G_EXE_FORMAT(format));
 
         /* TODO : valider que la taille de l'instruction obtenue ne dépasse pas la zone */
 
diff --git a/src/arch/arm/v7/processor.c b/src/arch/arm/v7/processor.c
index 195b87c..e9781f3 100644
--- a/src/arch/arm/v7/processor.c
+++ b/src/arch/arm/v7/processor.c
@@ -68,7 +68,7 @@ static void g_armv7_processor_finalize(GArmV7Processor *);
 static GArmV7Context *g_armv7_processor_get_context(const GArmV7Processor *);
 
 /* Décode une instruction dans un flux de données. */
-static GArchInstruction *g_armv7_processor_disassemble(const GArmV7Processor *, GArmV7Context *, const GBinContent *, vmpa2t *);
+static GArchInstruction *g_armv7_processor_disassemble(const GArmV7Processor *, GArmV7Context *, const GBinContent *, vmpa2t *, GExeFormat *);
 
 
 
@@ -222,6 +222,7 @@ static GArmV7Context *g_armv7_processor_get_context(const GArmV7Processor *proc)
 *                ctx     = contexte lié à l'exécution du processeur.          *
 *                content = flux de données à analyser.                        *
 *                pos     = position courante dans ce flux. [OUT]              *
+*                format  = format du fichier contenant le code.               *
 *                                                                             *
 *  Description : Désassemble une instruction dans un flux de données.         *
 *                                                                             *
@@ -231,7 +232,7 @@ static GArmV7Context *g_armv7_processor_get_context(const GArmV7Processor *proc)
 *                                                                             *
 ******************************************************************************/
 
-static GArchInstruction *g_armv7_processor_disassemble(const GArmV7Processor *proc, GArmV7Context *ctx, const GBinContent *content, vmpa2t *pos)
+static GArchInstruction *g_armv7_processor_disassemble(const GArmV7Processor *proc, GArmV7Context *ctx, const GBinContent *content, vmpa2t *pos, GExeFormat *format)
 {
     GArchInstruction *result;               /* Instruction à renvoyer      */
     SourceEndian endian;                    /* Boutisme des données lues   */
diff --git a/src/arch/dalvik/Makefile.am b/src/arch/dalvik/Makefile.am
index 508e26d..0f04dae 100644
--- a/src/arch/dalvik/Makefile.am
+++ b/src/arch/dalvik/Makefile.am
@@ -25,4 +25,4 @@ AM_CPPFLAGS = $(LIBGTK_CFLAGS) $(LIBXML_CFLAGS)
 AM_CFLAGS = $(DEBUG_CFLAGS) $(WARNING_FLAGS) $(COMPLIANCE_FLAGS)
 
 
-SUBDIRS = decomp opcodes operands pseudo
+SUBDIRS = decomp opdefs opcodes operands pseudo
diff --git a/src/arch/dalvik/instruction.c b/src/arch/dalvik/instruction.c
index a8e8676..31f02c8 100644
--- a/src/arch/dalvik/instruction.c
+++ b/src/arch/dalvik/instruction.c
@@ -544,35 +544,6 @@ static void g_dalvik_instruction_get_rw_registers(const GDalvikInstruction *inst
 
 /******************************************************************************
 *                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux.                       *
-*                end  = limite des données à analyser.                        *
-*                                                                             *
-*  Description : Recherche l'identifiant de la prochaine instruction.         *
-*                                                                             *
-*  Retour      : Identifiant de la prochaine instruction à tenter de charger. *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-DalvikOpcodes dalvik_guess_next_instruction(const bin_t *data, off_t pos, off_t end)
-{
-    DalvikOpcodes result;                   /* Identifiant à retourner     */
-
-    result = (DalvikOpcodes)data[pos];
-
-    /* Si l'instruction est marquée comme non utilisée... */
-    if (_instructions[result].keyword == NULL)
-        result = DOP_COUNT;
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
 *  Paramètres  : instr  = instruction à traiter.                              *
 *                syntax = type de représentation demandée.                    *
 *                                                                             *
@@ -586,7 +557,7 @@ DalvikOpcodes dalvik_guess_next_instruction(const bin_t *data, off_t pos, off_t
 
 static void dalvik_build_instruction_keyword(const GDalvikInstruction *instr, AsmSyntax syntax)
 {
-    G_ARCH_INSTRUCTION(instr)->cached_keyword = strdup(_instructions[instr->type].keyword);
+    G_ARCH_INSTRUCTION(instr)->cached_keyword = strdup(instr->keyword);
 
 }
 
diff --git a/src/arch/dalvik/instruction.h b/src/arch/dalvik/instruction.h
index 185eabe..dacf957 100644
--- a/src/arch/dalvik/instruction.h
+++ b/src/arch/dalvik/instruction.h
@@ -57,9 +57,6 @@ DalvikOpcodes g_dalvik_instruction_get_opcode(const struct _GDalvikInstruction *
 /* --------------------- AIDE A LA MISE EN PLACE D'INSTRUCTIONS --------------------- */
 
 
-/* Recherche l'identifiant de la prochaine instruction. */
-DalvikOpcodes dalvik_guess_next_instruction(const bin_t *, off_t, off_t);
-
 
 
 /* ------------------------ AIDE A LA PHASE DE DECOMPILATION ------------------------ */
diff --git a/src/arch/dalvik/opcodes/Makefile.am b/src/arch/dalvik/opcodes/Makefile.am
index 8632c0e..e4f90da 100644
--- a/src/arch/dalvik/opcodes/Makefile.am
+++ b/src/arch/dalvik/opcodes/Makefile.am
@@ -1,44 +1,17 @@
 
+# Initialement, ce Makefile est conçu sans définition de am__depfiles_maybe.
+# Est-ce parce que GENERATED_FILES est vide et qu'il n'y a donc pas de code
+# source ? En tout cas, au premier écrasement de gencode.mk, tous les fichiers
+# sont regénérés, et am__depfiles_maybe apparaît enfin. Mais trop tard :
+# des fichiers .Plo sont attendus mais non créés par l'ancien Makefile.
+# On force les choses ici.
+am__depfiles_maybe = depfiles
+
+include gencode.mk
+
 noinst_LTLIBRARIES = libarchdalvikopcodes.la
 
-libarchdalvikopcodes_la_SOURCES =		\
-	add.c								\
-	aget.c								\
-	and.c								\
-	aput.c								\
-	array.c								\
-	check.c								\
-	cmp.c								\
-	const.c								\
-	div.c								\
-	goto.c								\
-	if.c								\
-	iget.c								\
-	instanceof.c						\
-	invoke.c							\
-	iput.c								\
-	monitor.c							\
-	move.c								\
-	mul.c								\
-	neg.c								\
-	new.c								\
-	nop.c								\
-	not.c								\
-	opcodes.h							\
-	or.c								\
-	rem.c								\
-	ret.c								\
-	rsub.c								\
-	sget.c								\
-	shl.c								\
-	shr.c								\
-	sput.c								\
-	sub.c								\
-	switch.c							\
-	throw.c								\
-	to.c								\
-	ushr.c								\
-	xor.c
+libarchdalvikopcodes_la_SOURCES = $(GENERATED_FILES)
 
 libarchdalvikopcodes_la_LIBADD =
 
diff --git a/src/arch/dalvik/opcodes/add.c b/src/arch/dalvik/opcodes/add.c
deleted file mode 100644
index 4d93df9..0000000
--- a/src/arch/dalvik/opcodes/add.c
+++ /dev/null
@@ -1,419 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * add.c - décodage des opérations d'addition
- *
- * Copyright (C) 2010-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'add-double'.                 *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_add_double(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_ADD_DOUBLE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'add-double/2addr'.           *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_add_double_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_ADD_DOUBLE_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'add-int'.                    *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_add_int(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_ADD_INT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'add-int/2addr'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_add_int_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_ADD_INT_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'add-int/lit8'.               *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_add_int_lit8(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_ADD_INT_LIT8);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22B))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'add-int/lit16'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_add_int_lit16(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_ADD_INT_LIT16);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22S))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'add-float'.                  *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_add_float(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_ADD_FLOAT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'add-float/2addr'.            *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_add_float_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_ADD_FLOAT_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'add-long'.                   *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_add_long(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_ADD_LONG);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'add-long/2addr'.             *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_add_long_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_ADD_LONG_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/aget.c b/src/arch/dalvik/opcodes/aget.c
deleted file mode 100644
index e5033aa..0000000
--- a/src/arch/dalvik/opcodes/aget.c
+++ /dev/null
@@ -1,302 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * aget.c - décodage des instructions manipulant des tableaux (chargement)
- *
- * Copyright (C) 2010-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'aget'.                       *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_aget(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_AGET);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'aget-boolean'.               *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_aget_boolean(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_AGET_BOOLEAN);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'aget-byte'.                  *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_aget_byte(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_AGET_BYTE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'aget-char'.                  *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_aget_char(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_AGET_CHAR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'aget-object'.                *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_aget_object(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_AGET_OBJECT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'aget-short'.                 *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_aget_short(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_AGET_SHORT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'aget-wide'.                  *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_aget_wide(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_AGET_WIDE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/and.c b/src/arch/dalvik/opcodes/and.c
deleted file mode 100644
index d5162bf..0000000
--- a/src/arch/dalvik/opcodes/and.c
+++ /dev/null
@@ -1,263 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * and.c - décodage des opérations de ET logiques
- *
- * Copyright (C) 2010-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'and-int'.                    *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_and_int(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_AND_INT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'and-int/2addr'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_and_int_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_AND_INT_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'and-int/lit8'.               *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_and_int_lit8(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_AND_INT_LIT8);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22B))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'and-int/lit16'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_and_int_lit16(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_AND_INT_LIT16);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22S))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'and-long'.                   *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_and_long(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_AND_LONG);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'and-long/2addr'.             *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_and_long_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_AND_LONG_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/aput.c b/src/arch/dalvik/opcodes/aput.c
deleted file mode 100644
index 6cdde65..0000000
--- a/src/arch/dalvik/opcodes/aput.c
+++ /dev/null
@@ -1,288 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * aput.c - décodage des instructions manipulant des tableaux (enregistrement)
- *
- * Copyright (C) 2010-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'aput'.                       *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_aput(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_APUT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'aput-boolean'.               *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_aput_boolean(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_APUT_BOOLEAN);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'aput-byte'.                  *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_aput_byte(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_APUT_BYTE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'aput-char'.                  *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_aput_char(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_APUT_CHAR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'aput-object'.                *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_aput_object(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_APUT_OBJECT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'aput-short'.                 *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_aput_short(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_APUT_SHORT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'aput-wide'.                  *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_aput_wide(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_APUT_WIDE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/array.c b/src/arch/dalvik/opcodes/array.c
deleted file mode 100644
index efa40b7..0000000
--- a/src/arch/dalvik/opcodes/array.c
+++ /dev/null
@@ -1,179 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * array.c - décodage de l'opération récupérant la longueur d'un tableau
- *
- * Copyright (C) 2010-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'array-length'.               *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_array_length(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_ARRAY_LENGTH);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'fill-array-data'.            *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_fill_array_data(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_FILL_ARRAY_DATA);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_31T))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'filled-new-array'.           *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_filled_new_array(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_FILLED_NEW_ARRAY);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_35C | DALVIK_OP_POOL(DPT_TYPE)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'filled-new-array/range'.     *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_filled_new_array_range(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_FILLED_NEW_ARRAY_RANGE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_3RC | DALVIK_OP_POOL(DPT_TYPE)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/check.c b/src/arch/dalvik/opcodes/check.c
deleted file mode 100644
index 725f336..0000000
--- a/src/arch/dalvik/opcodes/check.c
+++ /dev/null
@@ -1,66 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * check.c - décodage des vérifications de types
- *
- * Copyright (C) 2010-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'check-cast'.                 *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_check_cast(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_CHECK_CAST);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_21C | DALVIK_OP_POOL(DPT_TYPE)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/cmp.c b/src/arch/dalvik/opcodes/cmp.c
deleted file mode 100644
index e6de13c..0000000
--- a/src/arch/dalvik/opcodes/cmp.c
+++ /dev/null
@@ -1,224 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * cmp.c - décodage des instructions de comparaison
- *
- * Copyright (C) 2010-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'cmp-long'.                   *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_cmp_long(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_CMP_LONG);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'cmpg-double'.                *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_cmpg_double(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_CMPG_DOUBLE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'cmpg-float'.                 *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_cmpg_float(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_CMPG_FLOAT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'cmpl-double'.                *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_cmpl_double(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_CMPL_DOUBLE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'cmpl-float'.                 *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_cmpl_float(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_CMPL_FLOAT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/const.c b/src/arch/dalvik/opcodes/const.c
deleted file mode 100644
index 5097804..0000000
--- a/src/arch/dalvik/opcodes/const.c
+++ /dev/null
@@ -1,458 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * const.c - décodage des chargements de constantes
- *
- * Copyright (C) 2010-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'const'.                      *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_const(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_CONST);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_31I))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'const/16'.                   *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_const_16(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_CONST_16);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_21S))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'const/4'.                    *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_const_4(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_CONST_4);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_11N))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'const-class'.                *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_const_class(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_CONST_CLASS);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_21C | DALVIK_OP_POOL(DPT_TYPE)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'const/high16'.               *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_const_high16(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_CONST_HIGH16);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_21H))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'const-string'.               *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_const_string(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_CONST_STRING);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_21C | DALVIK_OP_POOL(DPT_STRING)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'const-string/jumbo'.         *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_const_string_jumbo(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_CONST_STRING_JUMBO);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_31C | DALVIK_OP_POOL(DPT_STRING)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'const-wide'.                 *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_const_wide(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_CONST_WIDE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_51L))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'const-wide/16'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_const_wide_16(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_CONST_WIDE_16);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_21S))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'const-wide/32'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_const_wide_32(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_CONST_WIDE_32);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_31I))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'const-wide/high16'.          *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_const_wide_high16(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_CONST_WIDE_HIGH16);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_21H))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/div.c b/src/arch/dalvik/opcodes/div.c
deleted file mode 100644
index a20968b..0000000
--- a/src/arch/dalvik/opcodes/div.c
+++ /dev/null
@@ -1,419 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * div.c - décodage des opérations de divisions
- *
- * Copyright (C) 2010-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'div-double'.                 *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_div_double(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_DIV_DOUBLE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'div-double/2addr'.           *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_div_double_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_DIV_DOUBLE_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'div-float'.                  *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_div_float(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_DIV_FLOAT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'div-float/2addr'.            *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_div_float_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_DIV_FLOAT_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'div-int'.                    *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_div_int(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_DIV_INT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'div-int/2addr'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_div_int_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_DIV_INT_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'div-int/lit8'.               *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_div_int_lit8(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_DIV_INT_LIT8);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22B))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'div-int/lit16'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_div_int_lit16(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_DIV_INT_LIT16);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22S))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'div-long'.                   *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_div_long(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_DIV_LONG);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'div-long/2addr'.             *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_div_long_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_DIV_LONG_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/goto.c b/src/arch/dalvik/opcodes/goto.c
deleted file mode 100644
index f74774a..0000000
--- a/src/arch/dalvik/opcodes/goto.c
+++ /dev/null
@@ -1,140 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * goto.c - décodage des branchements inconditionnels
- *
- * Copyright (C) 2010-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'goto'.                       *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_goto(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_GOTO);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_10T, addr))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'goto/16'.                    *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_goto_16(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_GOTO_16);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_20T, addr))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'goto/32'.                    *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_goto_32(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_GOTO_32);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_30T, addr))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/if.c b/src/arch/dalvik/opcodes/if.c
deleted file mode 100644
index ad8b49a..0000000
--- a/src/arch/dalvik/opcodes/if.c
+++ /dev/null
@@ -1,473 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * if.c - décodage des branchements conditionnels
- *
- * Copyright (C) 2010-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'if-eq'.                      *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_if_eq(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_IF_EQ);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22T, addr))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'if-eqz'.                     *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_if_eqz(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_IF_EQZ);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_21T, addr))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'if-ge'.                      *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_if_ge(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_IF_GE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22T, addr))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'if-gez'.                     *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_if_gez(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_IF_GEZ);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_21T, addr))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'if-gt'.                      *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_if_gt(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_IF_GT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22T, addr))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'if-gtz'.                     *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_if_gtz(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_IF_GTZ);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_21T, addr))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'if-le'.                      *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_if_le(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_IF_LE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22T, addr))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'if-lez'.                     *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_if_lez(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_IF_LEZ);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_21T, addr))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'if-lt'.                      *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_if_lt(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_IF_LT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22T, addr))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'if-ltz'.                     *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_if_ltz(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_IF_LTZ);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_21T, addr))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'if-ne'.                      *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_if_ne(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_IF_NE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22T, addr))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'if-nez'.                     *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_if_nez(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_IF_NEZ);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_21T, addr))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/iget.c b/src/arch/dalvik/opcodes/iget.c
deleted file mode 100644
index f83bb96..0000000
--- a/src/arch/dalvik/opcodes/iget.c
+++ /dev/null
@@ -1,302 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * iget.c - décodage des chargements de champs d'instance
- *
- * Copyright (C) 2010-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'iget'.                       *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_iget(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_IGET);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22C | DALVIK_OP_POOL(DPT_FIELD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'iget-boolean'.               *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_iget_boolean(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_IGET_BOOLEAN);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22C | DALVIK_OP_POOL(DPT_FIELD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'iget-byte'.                  *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_iget_byte(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_IGET_BYTE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22C | DALVIK_OP_POOL(DPT_FIELD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'iget-char'.                  *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_iget_char(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_IGET_CHAR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22C | DALVIK_OP_POOL(DPT_FIELD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'iget-object'.                *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_iget_object(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_IGET_OBJECT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22C | DALVIK_OP_POOL(DPT_FIELD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'iget-short'.                 *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_iget_short(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_IGET_SHORT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22C | DALVIK_OP_POOL(DPT_FIELD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'iget-wide'.                  *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_iget_wide(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_IGET_WIDE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22C | DALVIK_OP_POOL(DPT_FIELD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/instanceof.c b/src/arch/dalvik/opcodes/instanceof.c
deleted file mode 100644
index d65c6bd..0000000
--- a/src/arch/dalvik/opcodes/instanceof.c
+++ /dev/null
@@ -1,68 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * instanceof.c - décodage des opérations d'interrogation sur une instance
- *
- * Copyright (C) 2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'instance-of'.                *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_instance_of(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_INSTANCE_OF);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22C | DALVIK_OP_POOL(DPT_TYPE)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/invoke.c b/src/arch/dalvik/opcodes/invoke.c
deleted file mode 100644
index 9133e79..0000000
--- a/src/arch/dalvik/opcodes/invoke.c
+++ /dev/null
@@ -1,399 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * invoke.c - décodage des appels de méthode
- *
- * Copyright (C) 2010-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'invoke-direct'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_invoke_direct(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_INVOKE_DIRECT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_35C | DALVIK_OP_POOL(DPT_METHOD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'invoke-direct/range'.        *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_invoke_direct_range(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_INVOKE_DIRECT_RANGE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_3RC | DALVIK_OP_POOL(DPT_METHOD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'invoke-interface'.           *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_invoke_interface(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_INVOKE_INTERFACE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_35C | DALVIK_OP_POOL(DPT_METHOD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'invoke-interface/range'.     *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_invoke_interface_range(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_INVOKE_INTERFACE_RANGE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_3RC | DALVIK_OP_POOL(DPT_METHOD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'invoke-static'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_invoke_static(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_INVOKE_STATIC);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_35C | DALVIK_OP_POOL(DPT_METHOD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'invoke-static/range'.        *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_invoke_static_range(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_INVOKE_STATIC_RANGE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_3RC | DALVIK_OP_POOL(DPT_METHOD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'invoke-super'.               *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_invoke_super(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_INVOKE_SUPER);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_35C | DALVIK_OP_POOL(DPT_METHOD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'invoke-super/range'.         *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_invoke_super_range(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_INVOKE_SUPER_RANGE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_3RC | DALVIK_OP_POOL(DPT_METHOD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'invoke-virtual'.             *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_invoke_virtual(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_INVOKE_VIRTUAL);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_35C | DALVIK_OP_POOL(DPT_METHOD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'invoke-virtual/range'.       *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_invoke_virtual_range(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_INVOKE_VIRTUAL_RANGE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_3RC | DALVIK_OP_POOL(DPT_METHOD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/iput.c b/src/arch/dalvik/opcodes/iput.c
deleted file mode 100644
index 434eec7..0000000
--- a/src/arch/dalvik/opcodes/iput.c
+++ /dev/null
@@ -1,288 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * iput.c - décodage des enregistrements de champs d'instance
- *
- * Copyright (C) 2010-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'iput'.                       *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_iput(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_IPUT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22C | DALVIK_OP_POOL(DPT_FIELD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'iput-boolean'.               *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_iput_boolean(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_IPUT_BOOLEAN);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22C | DALVIK_OP_POOL(DPT_FIELD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'iput-byte'.                  *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_iput_byte(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_IPUT_BYTE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22C | DALVIK_OP_POOL(DPT_FIELD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'iput-char'.                  *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_iput_char(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_IPUT_CHAR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22C | DALVIK_OP_POOL(DPT_FIELD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'iput-object'.                *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_iput_object(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_IPUT_OBJECT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22C | DALVIK_OP_POOL(DPT_FIELD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'iput-short'.                 *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_iput_short(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_IPUT_SHORT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22C | DALVIK_OP_POOL(DPT_FIELD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'iput-wide'.                  *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_iput_wide(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_IPUT_WIDE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22C | DALVIK_OP_POOL(DPT_FIELD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/monitor.c b/src/arch/dalvik/opcodes/monitor.c
deleted file mode 100644
index 866e984..0000000
--- a/src/arch/dalvik/opcodes/monitor.c
+++ /dev/null
@@ -1,103 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * monitor.c - décodage des opérations de débogage
- *
- * Copyright (C) 2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'monitor-enter'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_monitor_enter(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_MONITOR_ENTER);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_11X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'monitor-exit'.               *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_monitor_exit(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_MONITOR_EXIT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_11X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/move.c b/src/arch/dalvik/opcodes/move.c
deleted file mode 100644
index ba2d89b..0000000
--- a/src/arch/dalvik/opcodes/move.c
+++ /dev/null
@@ -1,536 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * move.c - décodage des opérations de déplacement
- *
- * Copyright (C) 2010-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'move'.                       *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_move(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_MOVE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'move-exception'.             *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_move_exception(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_MOVE_EXCEPTION);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_11X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'move/16'.                    *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_move_16(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_MOVE_16);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_32X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'move/from16'.                *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_move_from_16(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_MOVE_FROM_16);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'move-object'.                *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_move_object(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_MOVE_OBJECT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'move-object/16'.             *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_move_object_16(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_MOVE_OBJECT_16);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_32X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'move-object/from16'.         *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_move_object_from_16(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_MOVE_OBJECT_FROM_16);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'move-result'.                *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_move_result(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_MOVE_RESULT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_11X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'move-result-object'.         *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_move_result_object(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_MOVE_RESULT_OBJECT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_11X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'move-result-wide'.           *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_move_result_wide(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_MOVE_RESULT_WIDE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_11X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'move-wide'.                  *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_move_wide(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_MOVE_WIDE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'move-wide/16'.               *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_move_wide_16(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_MOVE_WIDE_16);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_32X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'move-wide/from16'.           *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_move_wide_from_16(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_MOVE_WIDE_FROM_16);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/mul.c b/src/arch/dalvik/opcodes/mul.c
deleted file mode 100644
index 67a343b..0000000
--- a/src/arch/dalvik/opcodes/mul.c
+++ /dev/null
@@ -1,419 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * mul.c - décodage des opérations de multiplications
- *
- * Copyright (C) 2010-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'mul-double'.                 *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_mul_double(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_MUL_DOUBLE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'mul-double/2addr'.           *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_mul_double_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_MUL_DOUBLE_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'mul-float'.                  *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_mul_float(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_MUL_FLOAT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'mul-float/2addr'.            *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_mul_float_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_MUL_FLOAT_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'mul-int'.                    *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_mul_int(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_MUL_INT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'mul-int/2addr'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_mul_int_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_MUL_INT_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'mul-int/lit8'.               *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_mul_int_lit8(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_MUL_INT_LIT8);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22B))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'mul-int/lit16'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_mul_int_lit16(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_MUL_INT_LIT16);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22S))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'mul-long'.                   *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_mul_long(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_MUL_LONG);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'mul-long/2addr'.             *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_mul_long_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_MUL_LONG_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/neg.c b/src/arch/dalvik/opcodes/neg.c
deleted file mode 100644
index 5f9a985..0000000
--- a/src/arch/dalvik/opcodes/neg.c
+++ /dev/null
@@ -1,185 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * neg.c - décodage des instructions de négations
- *
- * Copyright (C) 2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'neg-double'.                 *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_neg_double(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_NEG_DOUBLE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'neg-float'.                  *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_neg_float(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_NEG_FLOAT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'neg-int'.                    *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_neg_int(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_NEG_INT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'neg-long'.                   *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_neg_long(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_NEG_LONG);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/new.c b/src/arch/dalvik/opcodes/new.c
deleted file mode 100644
index 3320540..0000000
--- a/src/arch/dalvik/opcodes/new.c
+++ /dev/null
@@ -1,107 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * new.c - décodage des créations de nouvelles instances
- *
- * Copyright (C) 2010-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'new-array'.                  *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_new_array(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_NEW_ARRAY);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22C | DALVIK_OP_POOL(DPT_TYPE)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'new-instance'.               *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_new_instance(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_NEW_INSTANCE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_21C | DALVIK_OP_POOL(DPT_TYPE)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/nop.c b/src/arch/dalvik/opcodes/nop.c
deleted file mode 100644
index b90c350..0000000
--- a/src/arch/dalvik/opcodes/nop.c
+++ /dev/null
@@ -1,66 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * ret.c - décodage de l'instruction nulle
- *
- * Copyright (C) 2010-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'nop'.                        *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_nop(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_NOP);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_10X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/not.c b/src/arch/dalvik/opcodes/not.c
deleted file mode 100644
index 41ae2d4..0000000
--- a/src/arch/dalvik/opcodes/not.c
+++ /dev/null
@@ -1,107 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * not.c - décodage des instructions de négations booléennes
- *
- * Copyright (C) 2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'not-int'.                    *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_not_int(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_NOT_INT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'not-long'.                   *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_not_long(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_NOT_LONG);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/opcodes.h b/src/arch/dalvik/opcodes/opcodes.h
deleted file mode 100644
index 3f89970..0000000
--- a/src/arch/dalvik/opcodes/opcodes.h
+++ /dev/null
@@ -1,693 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * opcodes.h - prototypes pour la liste de tous les opcodes de l'architecture Dalvik
- *
- * Copyright (C) 2010-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#ifndef _ARCH_DALVIK_OPCODES_H
-#define _ARCH_DALVIK_OPCODES_H
-
-
-#include "../instruction.h"
-#include "../processor.h"
-#include "../../../format/dex/dex.h"
-
-
-
-/* Prototype de décodage d'une instruction Dalvik. */
-typedef GArchInstruction * (* dalvik_read_instr) (const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'add-double'. */
-GArchInstruction *dalvik_read_instr_add_double(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'add-double/2addr'. */
-GArchInstruction *dalvik_read_instr_add_double_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'add-int'. */
-GArchInstruction *dalvik_read_instr_add_int(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'add-int/2addr'. */
-GArchInstruction *dalvik_read_instr_add_int_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'add-int/lit8'. */
-GArchInstruction *dalvik_read_instr_add_int_lit8(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'add-int/lit16'. */
-GArchInstruction *dalvik_read_instr_add_int_lit16(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'add-float'. */
-GArchInstruction *dalvik_read_instr_add_float(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'add-float/2addr'. */
-GArchInstruction *dalvik_read_instr_add_float_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'add-long'. */
-GArchInstruction *dalvik_read_instr_add_long(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'add-long/2addr'. */
-GArchInstruction *dalvik_read_instr_add_long_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'aget'. */
-GArchInstruction *dalvik_read_instr_aget(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'aget-boolean'. */
-GArchInstruction *dalvik_read_instr_aget_boolean(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'aget-byte'. */
-GArchInstruction *dalvik_read_instr_aget_byte(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'aget-char'. */
-GArchInstruction *dalvik_read_instr_aget_char(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'aget-object'. */
-GArchInstruction *dalvik_read_instr_aget_object(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'aget-short'. */
-GArchInstruction *dalvik_read_instr_aget_short(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'aget-wide'. */
-GArchInstruction *dalvik_read_instr_aget_wide(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'and-int'. */
-GArchInstruction *dalvik_read_instr_and_int(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'and-int/2addr'. */
-GArchInstruction *dalvik_read_instr_and_int_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'and-int/lit8'. */
-GArchInstruction *dalvik_read_instr_and_int_lit8(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'and-int/lit16'. */
-GArchInstruction *dalvik_read_instr_and_int_lit16(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'and-long'. */
-GArchInstruction *dalvik_read_instr_and_long(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'and-long/2addr'. */
-GArchInstruction *dalvik_read_instr_and_long_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'aput'. */
-GArchInstruction *dalvik_read_instr_aput(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'aput-boolean'. */
-GArchInstruction *dalvik_read_instr_aput_boolean(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'aput-byte'. */
-GArchInstruction *dalvik_read_instr_aput_byte(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'aput-char'. */
-GArchInstruction *dalvik_read_instr_aput_char(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'aput-object'. */
-GArchInstruction *dalvik_read_instr_aput_object(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'aput-short'. */
-GArchInstruction *dalvik_read_instr_aput_short(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'aput-wide'. */
-GArchInstruction *dalvik_read_instr_aput_wide(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'array-length'. */
-GArchInstruction *dalvik_read_instr_array_length(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'check-cast'. */
-GArchInstruction *dalvik_read_instr_check_cast(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'cmp-long'. */
-GArchInstruction *dalvik_read_instr_cmp_long(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'cmpg-double'. */
-GArchInstruction *dalvik_read_instr_cmpg_double(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'cmpg-float'. */
-GArchInstruction *dalvik_read_instr_cmpg_float(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'cmpl-double'. */
-GArchInstruction *dalvik_read_instr_cmpl_double(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'cmpl-float'. */
-GArchInstruction *dalvik_read_instr_cmpl_float(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'const'. */
-GArchInstruction *dalvik_read_instr_const(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'const/16'. */
-GArchInstruction *dalvik_read_instr_const_16(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'const/4'. */
-GArchInstruction *dalvik_read_instr_const_4(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'const-class'. */
-GArchInstruction *dalvik_read_instr_const_class(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'const/high16'. */
-GArchInstruction *dalvik_read_instr_const_high16(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'const-string'. */
-GArchInstruction *dalvik_read_instr_const_string(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'const-string/jumbo'. */
-GArchInstruction *dalvik_read_instr_const_string_jumbo(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'const-wide'. */
-GArchInstruction *dalvik_read_instr_const_wide(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'const-wide/16'. */
-GArchInstruction *dalvik_read_instr_const_wide_16(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'const-wide/32'. */
-GArchInstruction *dalvik_read_instr_const_wide_32(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'const-wide/high16'. */
-GArchInstruction *dalvik_read_instr_const_wide_high16(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'div-double'. */
-GArchInstruction *dalvik_read_instr_div_double(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'div-double/2addr'. */
-GArchInstruction *dalvik_read_instr_div_double_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'div-float'. */
-GArchInstruction *dalvik_read_instr_div_float(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'div-float/2addr'. */
-GArchInstruction *dalvik_read_instr_div_float_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'div-int'. */
-GArchInstruction *dalvik_read_instr_div_int(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'div-int/2addr'. */
-GArchInstruction *dalvik_read_instr_div_int_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'div-int/lit8'. */
-GArchInstruction *dalvik_read_instr_div_int_lit8(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'div-int/lit16'. */
-GArchInstruction *dalvik_read_instr_div_int_lit16(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'div-long'. */
-GArchInstruction *dalvik_read_instr_div_long(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'div-long/2addr'. */
-GArchInstruction *dalvik_read_instr_div_long_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'fill-array-data'. */
-GArchInstruction *dalvik_read_instr_fill_array_data(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'filled-new-array'. */
-GArchInstruction *dalvik_read_instr_filled_new_array(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'filled-new-array/range'. */
-GArchInstruction *dalvik_read_instr_filled_new_array_range(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'goto'. */
-GArchInstruction *dalvik_read_instr_goto(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'goto/16'. */
-GArchInstruction *dalvik_read_instr_goto_16(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'goto/32'. */
-GArchInstruction *dalvik_read_instr_goto_32(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'if-eq'. */
-GArchInstruction *dalvik_read_instr_if_eq(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'if-eqz'. */
-GArchInstruction *dalvik_read_instr_if_eqz(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'if-ge'. */
-GArchInstruction *dalvik_read_instr_if_ge(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'if-gez'. */
-GArchInstruction *dalvik_read_instr_if_gez(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'if-gt'. */
-GArchInstruction *dalvik_read_instr_if_gt(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'if-gtz'. */
-GArchInstruction *dalvik_read_instr_if_gtz(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'if-le'. */
-GArchInstruction *dalvik_read_instr_if_le(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'if-lez'. */
-GArchInstruction *dalvik_read_instr_if_lez(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'if-lt'. */
-GArchInstruction *dalvik_read_instr_if_lt(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'if-ltz'. */
-GArchInstruction *dalvik_read_instr_if_ltz(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'if-ne'. */
-GArchInstruction *dalvik_read_instr_if_ne(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'if-nez'. */
-GArchInstruction *dalvik_read_instr_if_nez(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'iget'. */
-GArchInstruction *dalvik_read_instr_iget(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'iget-boolean'. */
-GArchInstruction *dalvik_read_instr_iget_boolean(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'iget-byte'. */
-GArchInstruction *dalvik_read_instr_iget_byte(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'iget-char'. */
-GArchInstruction *dalvik_read_instr_iget_char(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'iget-object'. */
-GArchInstruction *dalvik_read_instr_iget_object(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'iget-short'. */
-GArchInstruction *dalvik_read_instr_iget_short(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'iget-wide'. */
-GArchInstruction *dalvik_read_instr_iget_wide(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'instance-of'. */
-GArchInstruction *dalvik_read_instr_instance_of(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'invoke-direct'. */
-GArchInstruction *dalvik_read_instr_invoke_direct(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'invoke-direct/range'. */
-GArchInstruction *dalvik_read_instr_invoke_direct_range(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'invoke-interface'. */
-GArchInstruction *dalvik_read_instr_invoke_interface(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'invoke-interface/range'. */
-GArchInstruction *dalvik_read_instr_invoke_interface_range(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'invoke-static'. */
-GArchInstruction *dalvik_read_instr_invoke_static(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'invoke-static/range'. */
-GArchInstruction *dalvik_read_instr_invoke_static_range(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'invoke-super'. */
-GArchInstruction *dalvik_read_instr_invoke_super(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'invoke-super/range'. */
-GArchInstruction *dalvik_read_instr_invoke_super_range(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'invoke-virtual'. */
-GArchInstruction *dalvik_read_instr_invoke_virtual(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'invoke-virtual/range'. */
-GArchInstruction *dalvik_read_instr_invoke_virtual_range(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'iput'. */
-GArchInstruction *dalvik_read_instr_iput(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'iput-boolean'. */
-GArchInstruction *dalvik_read_instr_iput_boolean(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'iput-byte'. */
-GArchInstruction *dalvik_read_instr_iput_byte(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'iput-char'. */
-GArchInstruction *dalvik_read_instr_iput_char(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'iput-object'. */
-GArchInstruction *dalvik_read_instr_iput_object(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'iput-short'. */
-GArchInstruction *dalvik_read_instr_iput_short(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'iput-wide'. */
-GArchInstruction *dalvik_read_instr_iput_wide(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'monitor-enter'. */
-GArchInstruction *dalvik_read_instr_monitor_enter(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'monitor-exit'. */
-GArchInstruction *dalvik_read_instr_monitor_exit(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'move'. */
-GArchInstruction *dalvik_read_instr_move(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'move-exception'. */
-GArchInstruction *dalvik_read_instr_move_exception(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'move/16'. */
-GArchInstruction *dalvik_read_instr_move_16(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'move/from16'. */
-GArchInstruction *dalvik_read_instr_move_from_16(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'move-object'. */
-GArchInstruction *dalvik_read_instr_move_object(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'move-object/16'. */
-GArchInstruction *dalvik_read_instr_move_object_16(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'move-object/from16'. */
-GArchInstruction *dalvik_read_instr_move_object_from_16(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'move-result'. */
-GArchInstruction *dalvik_read_instr_move_result(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'move-result-object'. */
-GArchInstruction *dalvik_read_instr_move_result_object(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'move-result-wide'. */
-GArchInstruction *dalvik_read_instr_move_result_wide(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'move-wide'. */
-GArchInstruction *dalvik_read_instr_move_wide(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'move-wide/16'. */
-GArchInstruction *dalvik_read_instr_move_wide_16(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'move-wide/from16'. */
-GArchInstruction *dalvik_read_instr_move_wide_from_16(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'mul-double'. */
-GArchInstruction *dalvik_read_instr_mul_double(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'mul-double/2addr'. */
-GArchInstruction *dalvik_read_instr_mul_double_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'mul-float'. */
-GArchInstruction *dalvik_read_instr_mul_float(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'mul-float/2addr'. */
-GArchInstruction *dalvik_read_instr_mul_float_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'mul-int'. */
-GArchInstruction *dalvik_read_instr_mul_int(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'mul-int/2addr'. */
-GArchInstruction *dalvik_read_instr_mul_int_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'mul-int/lit8'. */
-GArchInstruction *dalvik_read_instr_mul_int_lit8(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'mul-int/lit16'. */
-GArchInstruction *dalvik_read_instr_mul_int_lit16(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'mul-long'. */
-GArchInstruction *dalvik_read_instr_mul_long(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'mul-long/2addr'. */
-GArchInstruction *dalvik_read_instr_mul_long_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'neg-double'. */
-GArchInstruction *dalvik_read_instr_neg_double(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'neg-float'. */
-GArchInstruction *dalvik_read_instr_neg_float(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'neg-int'. */
-GArchInstruction *dalvik_read_instr_neg_int(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'neg-long'. */
-GArchInstruction *dalvik_read_instr_neg_long(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'new-array'. */
-GArchInstruction *dalvik_read_instr_new_array(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'new-instance'. */
-GArchInstruction *dalvik_read_instr_new_instance(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'nop'. */
-GArchInstruction *dalvik_read_instr_nop(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'not-int'. */
-GArchInstruction *dalvik_read_instr_not_int(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'not-long'. */
-GArchInstruction *dalvik_read_instr_not_long(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'or-int'. */
-GArchInstruction *dalvik_read_instr_or_int(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'or-int/2addr'. */
-GArchInstruction *dalvik_read_instr_or_int_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'or-int/lit8'. */
-GArchInstruction *dalvik_read_instr_or_int_lit8(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'or-int/lit16'. */
-GArchInstruction *dalvik_read_instr_or_int_lit16(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'or-long'. */
-GArchInstruction *dalvik_read_instr_or_long(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'or-long/2addr'. */
-GArchInstruction *dalvik_read_instr_or_long_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'packed-switch'. */
-GArchInstruction *dalvik_read_instr_packed_switch(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'rem-double'. */
-GArchInstruction *dalvik_read_instr_rem_double(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'rem-double/2addr'. */
-GArchInstruction *dalvik_read_instr_rem_double_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'rem-float'. */
-GArchInstruction *dalvik_read_instr_rem_float(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'rem-float/2addr'. */
-GArchInstruction *dalvik_read_instr_rem_float_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'rem-int'. */
-GArchInstruction *dalvik_read_instr_rem_int(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'rem-int/2addr'. */
-GArchInstruction *dalvik_read_instr_rem_int_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'rem-int/lit8'. */
-GArchInstruction *dalvik_read_instr_rem_int_lit8(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'rem-int/lit16'. */
-GArchInstruction *dalvik_read_instr_rem_int_lit16(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'rem-long'. */
-GArchInstruction *dalvik_read_instr_rem_long(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'rem-long/2addr'. */
-GArchInstruction *dalvik_read_instr_rem_long_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'rsub-int'. */
-GArchInstruction *dalvik_read_instr_rsub_int(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'rsub-int/lit8'. */
-GArchInstruction *dalvik_read_instr_rsub_int_lit8(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'return'. */
-GArchInstruction *dalvik_read_instr_return(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'return-object'. */
-GArchInstruction *dalvik_read_instr_return_object(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'return-void'. */
-GArchInstruction *dalvik_read_instr_return_void(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'return-wide'. */
-GArchInstruction *dalvik_read_instr_return_wide(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'sget'. */
-GArchInstruction *dalvik_read_instr_sget(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'sget-boolean'. */
-GArchInstruction *dalvik_read_instr_sget_boolean(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'sget-byte'. */
-GArchInstruction *dalvik_read_instr_sget_byte(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'sget-char'. */
-GArchInstruction *dalvik_read_instr_sget_char(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'sget-object'. */
-GArchInstruction *dalvik_read_instr_sget_object(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'sget-short'. */
-GArchInstruction *dalvik_read_instr_sget_short(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'sget-wide'. */
-GArchInstruction *dalvik_read_instr_sget_wide(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'shl-int'. */
-GArchInstruction *dalvik_read_instr_shl_int(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'shl-int/2addr'. */
-GArchInstruction *dalvik_read_instr_shl_int_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'shl-int/lit8'. */
-GArchInstruction *dalvik_read_instr_shl_int_lit8(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'shl-long'. */
-GArchInstruction *dalvik_read_instr_shl_long(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'shl-long/2addr'. */
-GArchInstruction *dalvik_read_instr_shl_long_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'shr-int'. */
-GArchInstruction *dalvik_read_instr_shr_int(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'shr-int/2addr'. */
-GArchInstruction *dalvik_read_instr_shr_int_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'shr-int/lit8'. */
-GArchInstruction *dalvik_read_instr_shr_int_lit8(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'shr-long'. */
-GArchInstruction *dalvik_read_instr_shr_long(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'shr-long/2addr'. */
-GArchInstruction *dalvik_read_instr_shr_long_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'sparse-switch'. */
-GArchInstruction *dalvik_read_instr_sparse_switch(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'sput'. */
-GArchInstruction *dalvik_read_instr_sput(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'sput-boolean'. */
-GArchInstruction *dalvik_read_instr_sput_boolean(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'sput-byte'. */
-GArchInstruction *dalvik_read_instr_sput_byte(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'sput-char'. */
-GArchInstruction *dalvik_read_instr_sput_char(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'sput-object'. */
-GArchInstruction *dalvik_read_instr_sput_object(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'sput-short'. */
-GArchInstruction *dalvik_read_instr_sput_short(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'sput-wide'. */
-GArchInstruction *dalvik_read_instr_sput_wide(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'sub-double'. */
-GArchInstruction *dalvik_read_instr_sub_double(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'sub-double/2addr'. */
-GArchInstruction *dalvik_read_instr_sub_double_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'sub-float'. */
-GArchInstruction *dalvik_read_instr_sub_float(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'sub-float/2addr'. */
-GArchInstruction *dalvik_read_instr_sub_float_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'sub-int'. */
-GArchInstruction *dalvik_read_instr_sub_int(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'sub-int/2addr'. */
-GArchInstruction *dalvik_read_instr_sub_int_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'sub-long'. */
-GArchInstruction *dalvik_read_instr_sub_long(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'sub-long/2addr'. */
-GArchInstruction *dalvik_read_instr_sub_long_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'int-to-byte'. */
-GArchInstruction *dalvik_read_instr_to_int_byte(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'int-to-char'. */
-GArchInstruction *dalvik_read_instr_to_int_char(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'int-to-double'. */
-GArchInstruction *dalvik_read_instr_to_int_double(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'int-to-float'. */
-GArchInstruction *dalvik_read_instr_to_int_float(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'int-to-long'. */
-GArchInstruction *dalvik_read_instr_to_int_long(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'int-to-short'. */
-GArchInstruction *dalvik_read_instr_to_int_short(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'double-to-float'. */
-GArchInstruction *dalvik_read_instr_to_double_float(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'double-to-int'. */
-GArchInstruction *dalvik_read_instr_to_double_int(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'double-to-long'. */
-GArchInstruction *dalvik_read_instr_to_double_long(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'float-to-double'. */
-GArchInstruction *dalvik_read_instr_to_float_double(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'float-to-int'. */
-GArchInstruction *dalvik_read_instr_to_float_int(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'float-to-long'. */
-GArchInstruction *dalvik_read_instr_to_float_long(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'long-to-double'. */
-GArchInstruction *dalvik_read_instr_to_long_double(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'long-to-float'. */
-GArchInstruction *dalvik_read_instr_to_long_float(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'long-to-int'. */
-GArchInstruction *dalvik_read_instr_to_long_int(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'throw'. */
-GArchInstruction *dalvik_read_instr_throw(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'ushr-int'. */
-GArchInstruction *dalvik_read_instr_ushr_int(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'ushr-int/2addr'. */
-GArchInstruction *dalvik_read_instr_ushr_int_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'ushr-int/lit8'. */
-GArchInstruction *dalvik_read_instr_ushr_int_lit8(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'ushr-long'. */
-GArchInstruction *dalvik_read_instr_ushr_long(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'ushr-long/2addr'. */
-GArchInstruction *dalvik_read_instr_ushr_long_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'xor-int'. */
-GArchInstruction *dalvik_read_instr_xor_int(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'xor-int/2addr'. */
-GArchInstruction *dalvik_read_instr_xor_int_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'xor-int/lit8'. */
-GArchInstruction *dalvik_read_instr_xor_int_lit8(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'xor-int/lit16'. */
-GArchInstruction *dalvik_read_instr_xor_int_lit16(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'xor-long'. */
-GArchInstruction *dalvik_read_instr_xor_long(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-/* Décode une instruction de type 'xor-long/2addr'. */
-GArchInstruction *dalvik_read_instr_xor_long_2addr(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *, const GDexFormat *);
-
-
-
-#endif  /* _ARCH_DALVIK_OPCODES_H */
diff --git a/src/arch/dalvik/opcodes/or.c b/src/arch/dalvik/opcodes/or.c
deleted file mode 100644
index 8904f48..0000000
--- a/src/arch/dalvik/opcodes/or.c
+++ /dev/null
@@ -1,263 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * or.c - décodage des opérations de OU logiques
- *
- * Copyright (C) 2010-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'or-int'.                     *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_or_int(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_OR_INT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'or-int/2addr'.               *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_or_int_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_OR_INT_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'or-int/lit8'.                *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_or_int_lit8(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_OR_INT_LIT8);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22B))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'or-int/lit16'.               *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_or_int_lit16(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_OR_INT_LIT16);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22S))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'or-long'.                    *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_or_long(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_OR_LONG);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'or-long/2addr'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_or_long_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_OR_LONG_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/rem.c b/src/arch/dalvik/opcodes/rem.c
deleted file mode 100644
index 0ba12de..0000000
--- a/src/arch/dalvik/opcodes/rem.c
+++ /dev/null
@@ -1,419 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * rem.c - décodage des opérations de restes de division
- *
- * Copyright (C) 2010-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'rem-double'.                 *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_rem_double(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_REM_DOUBLE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'rem-double/2addr'.           *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_rem_double_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_REM_DOUBLE_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'rem-float'.                  *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_rem_float(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_REM_FLOAT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'rem-float/2addr'.            *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_rem_float_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_REM_FLOAT_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'rem-int'.                    *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_rem_int(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_REM_INT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'rem-int/2addr'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_rem_int_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_REM_INT_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'rem-int/lit8'.               *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_rem_int_lit8(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_REM_INT_LIT8);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22B))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'rem-int/lit16'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_rem_int_lit16(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_REM_INT_LIT16);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22S))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'rem-long'.                   *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_rem_long(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_REM_LONG);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'rem-long/2addr'.             *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_rem_long_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_REM_LONG_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/ret.c b/src/arch/dalvik/opcodes/ret.c
deleted file mode 100644
index 7e53ada..0000000
--- a/src/arch/dalvik/opcodes/ret.c
+++ /dev/null
@@ -1,177 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * ret.c - décodage des ordres de retour
- *
- * Copyright (C) 2010-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'return'.                     *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_return(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_RETURN);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_11X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'return-object'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_return_object(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_RETURN_OBJECT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_11X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'return-void'.                *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_return_void(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_RETURN_VOID);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_10X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'return-wide'.                *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_return_wide(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_RETURN_WIDE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_11X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/rsub.c b/src/arch/dalvik/opcodes/rsub.c
deleted file mode 100644
index 9ee9331..0000000
--- a/src/arch/dalvik/opcodes/rsub.c
+++ /dev/null
@@ -1,107 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * rsub.c - décodage des opérations de soustractions inverses
- *
- * Copyright (C) 2010-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'rsub-int'.                   *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_rsub_int(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_RSUB_INT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22S))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'rsub-int/lit8'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_rsub_int_lit8(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_RSUB_INT_LIT8);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22B))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/sget.c b/src/arch/dalvik/opcodes/sget.c
deleted file mode 100644
index bc1aca0..0000000
--- a/src/arch/dalvik/opcodes/sget.c
+++ /dev/null
@@ -1,302 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * sget.c - décodage des instructions manipulant des champs statiques (chargement)
- *
- * Copyright (C) 2010-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'sget'.                       *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_sget(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SGET);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_21C | DALVIK_OP_POOL(DPT_FIELD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'sget-boolean'.               *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_sget_boolean(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SGET_BOOLEAN);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_21C | DALVIK_OP_POOL(DPT_FIELD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'sget-byte'.                  *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_sget_byte(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SGET_BYTE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_21C | DALVIK_OP_POOL(DPT_FIELD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'sget-char'.                  *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_sget_char(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SGET_CHAR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_21C | DALVIK_OP_POOL(DPT_FIELD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'sget-object'.                *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_sget_object(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SGET_OBJECT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_21C | DALVIK_OP_POOL(DPT_FIELD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'sget-short'.                 *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_sget_short(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SGET_SHORT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_21C | DALVIK_OP_POOL(DPT_FIELD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'sget-wide'.                  *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_sget_wide(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SGET_WIDE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_21C | DALVIK_OP_POOL(DPT_FIELD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/shl.c b/src/arch/dalvik/opcodes/shl.c
deleted file mode 100644
index 3ee88b8..0000000
--- a/src/arch/dalvik/opcodes/shl.c
+++ /dev/null
@@ -1,224 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * shl.c - décodage des opérations de décalage à gauche
- *
- * Copyright (C) 2011-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'shl-int'.                    *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_shl_int(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SHL_INT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'shl-int/2addr'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_shl_int_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SHL_INT_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'shl-int/lit8'.               *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_shl_int_lit8(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SHL_INT_LIT8);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22B))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'shl-long'.                   *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_shl_long(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SHL_LONG);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'shl-long/2addr'.             *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_shl_long_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SHL_LONG_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/shr.c b/src/arch/dalvik/opcodes/shr.c
deleted file mode 100644
index 1656164..0000000
--- a/src/arch/dalvik/opcodes/shr.c
+++ /dev/null
@@ -1,224 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * shr.c - décodage des opérations de décalage à droite signé
- *
- * Copyright (C) 2011-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'shr-int'.                    *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_shr_int(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SHR_INT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'shr-int/2addr'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_shr_int_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SHR_INT_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'shr-int/lit8'.               *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_shr_int_lit8(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SHR_INT_LIT8);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22B))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'shr-long'.                   *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_shr_long(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SHR_LONG);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'shr-long/2addr'.             *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_shr_long_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SHR_LONG_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/sput.c b/src/arch/dalvik/opcodes/sput.c
deleted file mode 100644
index 281df25..0000000
--- a/src/arch/dalvik/opcodes/sput.c
+++ /dev/null
@@ -1,288 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * sput.c - décodage des instructions manipulant des champs statiques (enregistrement)
- *
- * Copyright (C) 2010-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'sput'.                       *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_sput(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SPUT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_21C | DALVIK_OP_POOL(DPT_FIELD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'sput-boolean'.               *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_sput_boolean(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SPUT_BOOLEAN);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_21C | DALVIK_OP_POOL(DPT_FIELD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'sput-byte'.                  *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_sput_byte(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SPUT_BYTE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_21C | DALVIK_OP_POOL(DPT_FIELD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'sput-char'.                  *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_sput_char(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SPUT_CHAR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_21C | DALVIK_OP_POOL(DPT_FIELD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'sput-object'.                *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_sput_object(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SPUT_OBJECT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_21C | DALVIK_OP_POOL(DPT_FIELD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'sput-short'.                 *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_sput_short(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SPUT_SHORT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_21C | DALVIK_OP_POOL(DPT_FIELD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'sput-wide'.                  *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_sput_wide(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SPUT_WIDE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_21C | DALVIK_OP_POOL(DPT_FIELD)))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/sub.c b/src/arch/dalvik/opcodes/sub.c
deleted file mode 100644
index 98af25e..0000000
--- a/src/arch/dalvik/opcodes/sub.c
+++ /dev/null
@@ -1,341 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * sub.c - décodage des opérations de soustraction
- *
- * Copyright (C) 2010-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'sub-double'.                 *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_sub_double(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SUB_DOUBLE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'sub-double/2addr'.           *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_sub_double_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SUB_DOUBLE_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'sub-float'.                  *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_sub_float(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SUB_FLOAT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'sub-float/2addr'.            *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_sub_float_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SUB_FLOAT_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'sub-int'.                    *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_sub_int(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SUB_INT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'sub-int/2addr'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_sub_int_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SUB_INT_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'sub-long'.                   *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_sub_long(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SUB_LONG);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'sub-long/2addr'.             *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_sub_long_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SUB_LONG_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/switch.c b/src/arch/dalvik/opcodes/switch.c
deleted file mode 100644
index 8b3c7a6..0000000
--- a/src/arch/dalvik/opcodes/switch.c
+++ /dev/null
@@ -1,103 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * switch.c - décompilation des branchements multiples
- *
- * Copyright (C) 2011-2013 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'packed-switch'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_packed_switch(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_PACKED_SWITCH);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_31T))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'sparse-switch'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_sparse_switch(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_SPARSE_SWITCH);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_31T))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/throw.c b/src/arch/dalvik/opcodes/throw.c
deleted file mode 100644
index 18602bc..0000000
--- a/src/arch/dalvik/opcodes/throw.c
+++ /dev/null
@@ -1,66 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * monitor.c - décodage des opérations d'envoi d'exceptions
- *
- * Copyright (C) 2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'throw'.                      *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_throw(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_THROW);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_11X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/to.c b/src/arch/dalvik/opcodes/to.c
deleted file mode 100644
index a8d3962..0000000
--- a/src/arch/dalvik/opcodes/to.c
+++ /dev/null
@@ -1,614 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * to.c - décodage des instructions de conversions forcées
- *
- * Copyright (C) 2010-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'int-to-byte'.                *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_to_int_byte(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_TO_INT_BYTE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'int-to-char'.                *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_to_int_char(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_TO_INT_CHAR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'int-to-double'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_to_int_double(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_TO_INT_DOUBLE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'int-to-float'.               *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_to_int_float(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_TO_INT_FLOAT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'int-to-long'.                *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_to_int_long(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_TO_INT_LONG);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'int-to-short'.               *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_to_int_short(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_TO_INT_SHORT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'double-to-float'.            *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_to_double_float(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_TO_DOUBLE_FLOAT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'double-to-int'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_to_double_int(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_TO_DOUBLE_INT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'double-to-long'.             *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_to_double_long(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_TO_DOUBLE_LONG);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'float-to-double'.            *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_to_float_double(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_TO_FLOAT_DOUBLE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'float-to-int'.               *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_to_float_int(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_TO_FLOAT_INT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'float-to-long'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_to_float_long(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_TO_FLOAT_LONG);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'long-to-double'.             *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_to_long_double(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_TO_LONG_DOUBLE);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'long-to-float'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_to_long_float(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_TO_LONG_FLOAT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'long-to-int'.                *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_to_long_int(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_TO_LONG_INT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/ushr.c b/src/arch/dalvik/opcodes/ushr.c
deleted file mode 100644
index ed377de..0000000
--- a/src/arch/dalvik/opcodes/ushr.c
+++ /dev/null
@@ -1,224 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * ushr.c - décodage des opérations de décalage à droite non signé
- *
- * Copyright (C) 2011-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'ushr-int'.                   *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_ushr_int(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_USHR_INT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'ushr-int/2addr'.             *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_ushr_int_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_USHR_INT_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'ushr-int/lit8'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_ushr_int_lit8(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_USHR_INT_LIT8);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22B))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'ushr-long'.                  *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_ushr_long(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_USHR_LONG);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'ushr-long/2addr'.            *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_ushr_long_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_USHR_LONG_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opcodes/xor.c b/src/arch/dalvik/opcodes/xor.c
deleted file mode 100644
index bf41560..0000000
--- a/src/arch/dalvik/opcodes/xor.c
+++ /dev/null
@@ -1,263 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * xor.c - décodage des opérations de OU exclusifs et logiques
- *
- * Copyright (C) 2010-2012 Cyrille Bagard
- *
- *  This file is part of Chrysalide.
- *
- *  OpenIDA is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  OpenIDA is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "opcodes.h"
-
-
-#include "../instruction.h"
-#include "../operand.h"
-
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'xor-int'.                    *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_xor_int(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_XOR_INT);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'xor-int/2addr'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_xor_int_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_XOR_INT_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'xor-int/lit8'.               *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_xor_int_lit8(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_XOR_INT_LIT8);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22B))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'xor-int/lit16'.              *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_xor_int_lit16(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_XOR_INT_LIT16);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_22S))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'xor-long'.                   *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_xor_long(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_XOR_LONG);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_23X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
-*                fmt  = format du fichier contenant le code.                  *
-*                                                                             *
-*  Description : Décode une instruction de type 'xor-long/2addr'.             *
-*                                                                             *
-*  Retour      : Instruction mise en place ou NULL.                           *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-GArchInstruction *dalvik_read_instr_xor_long_2addr(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc, const GDexFormat *fmt)
-{
-    GArchInstruction *result;               /* Instruction à retourner     */
-    SourceEndian endian;                    /* Boutisme lié au binaire     */
-
-    result = g_dalvik_instruction_new(DOP_XOR_LONG_2ADDR);
-
-    endian = g_arch_processor_get_endianness(G_ARCH_PROCESSOR(proc));
-
-    if (!dalvik_read_operands(result, fmt, data, pos, end, endian, DALVIK_OPT_12X))
-    {
-        g_object_unref(G_OBJECT(result));
-        return NULL;
-    }
-
-    dalvik_mark_first_operand_as_written(result);
-
-    return result;
-
-}
diff --git a/src/arch/dalvik/opdefs/Makefile.am b/src/arch/dalvik/opdefs/Makefile.am
new file mode 100644
index 0000000..115f75c
--- /dev/null
+++ b/src/arch/dalvik/opdefs/Makefile.am
@@ -0,0 +1,268 @@
+
+include ../../../../tools/d2c/d2c.mk
+
+
+D2C_BIN = ../../../../tools/d2c/d2c
+GEN_BIN = ../../../../tools/d2c/d2c_genmakefile.sh
+
+D2C_TYPE = format
+
+D2C_OUTDIR = $(PWD)/..
+
+D2C_ARCH = dalvik
+D2C_HEADER = _ARCH_DALVIK
+D2C_PREFIX = DALVIK_OPT_
+
+D2C_ENCODINGS =							\
+	-e none
+
+FIXED_C_INCLUDES = \
+	\n\#include \<stdint.h\> \
+	\n \
+	\n\#include \"..\/instruction.h\" \
+	\n\#include \"..\/operand.h\" \
+	\n\#include \"..\/processor.h\" \
+	\n\#include \"..\/..\/context.h\" \
+	\n\#include \"..\/..\/..\/analysis\/content.h\" \
+	\n\#include \"..\/..\/..\/format\/executable.h\" \
+	\n\n
+
+FIXED_H_INCLUDES = \
+	\n\#include \<stdint.h\> \
+	\n \
+	\n\#include \"..\/processor.h\" \
+	\n\#include \"..\/..\/context.h\" \
+	\n\#include \"..\/..\/..\/analysis\/content.h\" \
+	\n\#include \"..\/..\/..\/format\/executable.h\" \
+	\n\n
+
+# for (( i = 0; i < 256; i++)); do def=$(ls `printf "*_%02x.d" $i` 2> /dev/null); test -z "$def" || echo -e "\t$def\t\t\t\t\t\t\t\\" ; done
+DALVIK_DEFS = 							\
+	nop_00.d							\
+	move_01.d							\
+	move_02.d							\
+	move_03.d							\
+	move_04.d							\
+	move_05.d							\
+	move_06.d							\
+	move_07.d							\
+	move_08.d							\
+	move_09.d							\
+	move_0a.d							\
+	move_0b.d							\
+	move_0c.d							\
+	move_0d.d							\
+	return_0e.d							\
+	return_0f.d							\
+	return_10.d							\
+	return_11.d							\
+	const_12.d							\
+	const_13.d							\
+	const_14.d							\
+	const_15.d							\
+	const_16.d							\
+	const_17.d							\
+	const_18.d							\
+	const_19.d							\
+	const_1a.d							\
+	const_1b.d							\
+	const_1c.d							\
+	monitor_1d.d						\
+	monitor_1e.d						\
+	check_1f.d							\
+	instanceof_20.d						\
+	array_21.d							\
+	new_22.d							\
+	new_23.d							\
+	array_24.d							\
+	filled_25.d							\
+	array_26.d							\
+	throw_27.d							\
+	goto_28.d							\
+	goto_29.d							\
+	goto_2a.d							\
+	switch_2b.d							\
+	switch_2c.d							\
+	cmpl_2d.d							\
+	cmpg_2e.d							\
+	cmpl_2f.d							\
+	cmpg_30.d							\
+	cmp_31.d							\
+	if_32.d								\
+	if_33.d								\
+	if_34.d								\
+	if_35.d								\
+	if_36.d								\
+	if_37.d								\
+	if_38.d								\
+	if_39.d								\
+	if_3a.d								\
+	if_3b.d								\
+	if_3c.d								\
+	if_3d.d								\
+	aget_44.d							\
+	aget_45.d							\
+	aget_46.d							\
+	aget_47.d							\
+	aget_48.d							\
+	aget_49.d							\
+	aget_4a.d							\
+	aput_4b.d							\
+	aput_4c.d							\
+	aput_4d.d							\
+	aput_4e.d							\
+	aput_4f.d							\
+	aput_50.d							\
+	aput_51.d							\
+	iget_52.d							\
+	iget_53.d							\
+	iget_54.d							\
+	iget_55.d							\
+	iget_56.d							\
+	iget_57.d							\
+	iget_58.d							\
+	iput_59.d							\
+	iput_5a.d							\
+	iput_5b.d							\
+	iput_5c.d							\
+	iput_5d.d							\
+	iput_5e.d							\
+	iput_5f.d							\
+	sget_60.d							\
+	sget_61.d							\
+	sget_62.d							\
+	sget_63.d							\
+	sget_64.d							\
+	sget_65.d							\
+	sget_66.d							\
+	sput_67.d							\
+	sput_68.d							\
+	sput_69.d							\
+	sput_6a.d							\
+	sput_6b.d							\
+	sput_6c.d							\
+	sput_6d.d							\
+	invoke_6e.d							\
+	invoke_6f.d							\
+	invoke_70.d							\
+	invoke_71.d							\
+	invoke_72.d							\
+	invoke_74.d							\
+	invoke_75.d							\
+	invoke_76.d							\
+	invoke_77.d							\
+	invoke_78.d							\
+	neg_7b.d							\
+	not_7c.d							\
+	neg_7d.d							\
+	not_7e.d							\
+	neg_7f.d							\
+	neg_80.d							\
+	to_81.d								\
+	to_82.d								\
+	to_83.d								\
+	to_84.d								\
+	to_85.d								\
+	to_86.d								\
+	to_87.d								\
+	to_88.d								\
+	to_89.d								\
+	to_8a.d								\
+	to_8b.d								\
+	to_8c.d								\
+	to_8d.d								\
+	to_8e.d								\
+	to_8f.d								\
+	add_90.d							\
+	sub_91.d							\
+	mul_92.d							\
+	div_93.d							\
+	rem_94.d							\
+	and_95.d							\
+	or_96.d								\
+	xor_97.d							\
+	shl_98.d							\
+	shr_99.d							\
+	ushr_9a.d							\
+	add_9b.d							\
+	sub_9c.d							\
+	mul_9d.d							\
+	div_9e.d							\
+	rem_9f.d							\
+	and_a0.d							\
+	or_a1.d								\
+	xor_a2.d							\
+	shl_a3.d							\
+	shr_a4.d							\
+	ushr_a5.d							\
+	add_a6.d							\
+	sub_a7.d							\
+	mul_a8.d							\
+	div_a9.d							\
+	rem_aa.d							\
+	add_ab.d							\
+	sub_ac.d							\
+	mul_ad.d							\
+	div_ae.d							\
+	rem_af.d							\
+	add_b0.d							\
+	sub_b1.d							\
+	mul_b2.d							\
+	div_b3.d							\
+	rem_b4.d							\
+	and_b5.d							\
+	or_b6.d								\
+	xor_b7.d							\
+	shl_b8.d							\
+	shr_b9.d							\
+	ushr_ba.d							\
+	add_bb.d							\
+	sub_bc.d							\
+	mul_bd.d							\
+	div_be.d							\
+	rem_bf.d							\
+	and_c0.d							\
+	or_c1.d								\
+	xor_c2.d							\
+	shl_c3.d							\
+	shr_c4.d							\
+	ushr_c5.d							\
+	add_c6.d							\
+	sub_c7.d							\
+	mul_c8.d							\
+	div_c9.d							\
+	rem_ca.d							\
+	add_cb.d							\
+	sub_cc.d							\
+	mul_cd.d							\
+	div_ce.d							\
+	rem_cf.d							\
+	add_d0.d							\
+	rsub_d1.d							\
+	mul_d2.d							\
+	div_d3.d							\
+	rem_d4.d							\
+	and_d5.d							\
+	or_d6.d								\
+	xor_d7.d							\
+	add_d8.d							\
+	rsub_d9.d							\
+	mul_da.d							\
+	div_db.d							\
+	rem_dc.d							\
+	and_dd.d							\
+	or_de.d								\
+	xor_df.d							\
+	shl_e0.d							\
+	shr_e1.d							\
+	ushr_e2.d
+
+
+all: $(DALVIK_DEFS:.d=.g) fmk.done d2c_final_rules
+
+fmk.done: $(DALVIK_DEFS)
+	$(GEN_BIN) ../opcodes/ ../opdefs/.gen ../../../../tools/d2c/globalgen.mk -
+	touch $@
+
+clean:
+	rm -rf $(DALVIK_DEFS:.d=.g) .gen fmk.done
diff --git a/src/arch/dalvik/opdefs/add_90.d b/src/arch/dalvik/opdefs/add_90.d
new file mode 100644
index 0000000..04168ab
--- /dev/null
+++ b/src/arch/dalvik/opdefs/add_90.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title add-int
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/add_9b.d b/src/arch/dalvik/opdefs/add_9b.d
new file mode 100644
index 0000000..fc40b13
--- /dev/null
+++ b/src/arch/dalvik/opdefs/add_9b.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title add-long
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/add_a6.d b/src/arch/dalvik/opdefs/add_a6.d
new file mode 100644
index 0000000..055358b
--- /dev/null
+++ b/src/arch/dalvik/opdefs/add_a6.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title add-float
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/add_ab.d b/src/arch/dalvik/opdefs/add_ab.d
new file mode 100644
index 0000000..1506483
--- /dev/null
+++ b/src/arch/dalvik/opdefs/add_ab.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title add-double
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/add_b0.d b/src/arch/dalvik/opdefs/add_b0.d
new file mode 100644
index 0000000..9c5605e
--- /dev/null
+++ b/src/arch/dalvik/opdefs/add_b0.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title add-int/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/add_bb.d b/src/arch/dalvik/opdefs/add_bb.d
new file mode 100644
index 0000000..aba27f3
--- /dev/null
+++ b/src/arch/dalvik/opdefs/add_bb.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title add-long/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/add_c6.d b/src/arch/dalvik/opdefs/add_c6.d
new file mode 100644
index 0000000..3394b92
--- /dev/null
+++ b/src/arch/dalvik/opdefs/add_c6.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title add-float/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/add_cb.d b/src/arch/dalvik/opdefs/add_cb.d
new file mode 100644
index 0000000..896f614
--- /dev/null
+++ b/src/arch/dalvik/opdefs/add_cb.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title add-double/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/add_d0.d b/src/arch/dalvik/opdefs/add_d0.d
new file mode 100644
index 0000000..f6f4324
--- /dev/null
+++ b/src/arch/dalvik/opdefs/add_d0.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title add-int/lit16
+
+@encoding() {
+
+    @format 22s
+
+}
diff --git a/src/arch/dalvik/opdefs/add_d8.d b/src/arch/dalvik/opdefs/add_d8.d
new file mode 100644
index 0000000..ec4ee01
--- /dev/null
+++ b/src/arch/dalvik/opdefs/add_d8.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title add-int/lit8
+
+@encoding() {
+
+    @format 22b
+
+}
diff --git a/src/arch/dalvik/opdefs/aget_44.d b/src/arch/dalvik/opdefs/aget_44.d
new file mode 100644
index 0000000..b3a26cb
--- /dev/null
+++ b/src/arch/dalvik/opdefs/aget_44.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title aget
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/aget_45.d b/src/arch/dalvik/opdefs/aget_45.d
new file mode 100644
index 0000000..184667b
--- /dev/null
+++ b/src/arch/dalvik/opdefs/aget_45.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title aget-wide
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/aget_46.d b/src/arch/dalvik/opdefs/aget_46.d
new file mode 100644
index 0000000..b951c09
--- /dev/null
+++ b/src/arch/dalvik/opdefs/aget_46.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title aget-object
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/aget_47.d b/src/arch/dalvik/opdefs/aget_47.d
new file mode 100644
index 0000000..0a5e90b
--- /dev/null
+++ b/src/arch/dalvik/opdefs/aget_47.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title aget-boolean
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/aget_48.d b/src/arch/dalvik/opdefs/aget_48.d
new file mode 100644
index 0000000..c84f513
--- /dev/null
+++ b/src/arch/dalvik/opdefs/aget_48.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title aget-byte
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/aget_49.d b/src/arch/dalvik/opdefs/aget_49.d
new file mode 100644
index 0000000..396434b
--- /dev/null
+++ b/src/arch/dalvik/opdefs/aget_49.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title aget-char
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/aget_4a.d b/src/arch/dalvik/opdefs/aget_4a.d
new file mode 100644
index 0000000..ce9497f
--- /dev/null
+++ b/src/arch/dalvik/opdefs/aget_4a.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title aget-short
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/and_95.d b/src/arch/dalvik/opdefs/and_95.d
new file mode 100644
index 0000000..3926c05
--- /dev/null
+++ b/src/arch/dalvik/opdefs/and_95.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title and-int
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/and_a0.d b/src/arch/dalvik/opdefs/and_a0.d
new file mode 100644
index 0000000..b011156
--- /dev/null
+++ b/src/arch/dalvik/opdefs/and_a0.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title and-long
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/and_b5.d b/src/arch/dalvik/opdefs/and_b5.d
new file mode 100644
index 0000000..dec2ffb
--- /dev/null
+++ b/src/arch/dalvik/opdefs/and_b5.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title and-int/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/and_c0.d b/src/arch/dalvik/opdefs/and_c0.d
new file mode 100644
index 0000000..6fb52b6
--- /dev/null
+++ b/src/arch/dalvik/opdefs/and_c0.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title and-long/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/and_d5.d b/src/arch/dalvik/opdefs/and_d5.d
new file mode 100644
index 0000000..081c0d0
--- /dev/null
+++ b/src/arch/dalvik/opdefs/and_d5.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title and-int/lit16
+
+@encoding() {
+
+    @format 22s
+
+}
diff --git a/src/arch/dalvik/opdefs/and_dd.d b/src/arch/dalvik/opdefs/and_dd.d
new file mode 100644
index 0000000..8adae05
--- /dev/null
+++ b/src/arch/dalvik/opdefs/and_dd.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title and-int/lit8
+
+@encoding() {
+
+    @format 22b
+
+}
diff --git a/src/arch/dalvik/opdefs/aput_4b.d b/src/arch/dalvik/opdefs/aput_4b.d
new file mode 100644
index 0000000..90cc75f
--- /dev/null
+++ b/src/arch/dalvik/opdefs/aput_4b.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title aput
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/aput_4c.d b/src/arch/dalvik/opdefs/aput_4c.d
new file mode 100644
index 0000000..ff545f4
--- /dev/null
+++ b/src/arch/dalvik/opdefs/aput_4c.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title aput-wide
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/aput_4d.d b/src/arch/dalvik/opdefs/aput_4d.d
new file mode 100644
index 0000000..4c9ae98
--- /dev/null
+++ b/src/arch/dalvik/opdefs/aput_4d.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title aput-object
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/aput_4e.d b/src/arch/dalvik/opdefs/aput_4e.d
new file mode 100644
index 0000000..1602e62
--- /dev/null
+++ b/src/arch/dalvik/opdefs/aput_4e.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title aput-boolean
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/aput_4f.d b/src/arch/dalvik/opdefs/aput_4f.d
new file mode 100644
index 0000000..3632974
--- /dev/null
+++ b/src/arch/dalvik/opdefs/aput_4f.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title aput-byte
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/aput_50.d b/src/arch/dalvik/opdefs/aput_50.d
new file mode 100644
index 0000000..c295386
--- /dev/null
+++ b/src/arch/dalvik/opdefs/aput_50.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title aput-char
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/aput_51.d b/src/arch/dalvik/opdefs/aput_51.d
new file mode 100644
index 0000000..11ad5b2
--- /dev/null
+++ b/src/arch/dalvik/opdefs/aput_51.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title aput-short
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/array_21.d b/src/arch/dalvik/opdefs/array_21.d
new file mode 100644
index 0000000..e0ca860
--- /dev/null
+++ b/src/arch/dalvik/opdefs/array_21.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title array-length
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/array_24.d b/src/arch/dalvik/opdefs/array_24.d
new file mode 100644
index 0000000..b7dc4d4
--- /dev/null
+++ b/src/arch/dalvik/opdefs/array_24.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title filled-new-array
+
+@encoding() {
+
+    @format 35c
+
+}
diff --git a/src/arch/dalvik/opdefs/array_26.d b/src/arch/dalvik/opdefs/array_26.d
new file mode 100644
index 0000000..f57afd1
--- /dev/null
+++ b/src/arch/dalvik/opdefs/array_26.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title fill-array-data
+
+@encoding() {
+
+    @format 31t
+
+}
diff --git a/src/arch/dalvik/opdefs/check_1f.d b/src/arch/dalvik/opdefs/check_1f.d
new file mode 100644
index 0000000..7de7e56
--- /dev/null
+++ b/src/arch/dalvik/opdefs/check_1f.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title check-cast
+
+@encoding() {
+
+    @format 21c
+
+}
diff --git a/src/arch/dalvik/opdefs/cmp_31.d b/src/arch/dalvik/opdefs/cmp_31.d
new file mode 100644
index 0000000..baedee6
--- /dev/null
+++ b/src/arch/dalvik/opdefs/cmp_31.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title cmp-long
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/cmpg_2e.d b/src/arch/dalvik/opdefs/cmpg_2e.d
new file mode 100644
index 0000000..296337c
--- /dev/null
+++ b/src/arch/dalvik/opdefs/cmpg_2e.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title cmpg-float
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/cmpg_30.d b/src/arch/dalvik/opdefs/cmpg_30.d
new file mode 100644
index 0000000..dbb66ae
--- /dev/null
+++ b/src/arch/dalvik/opdefs/cmpg_30.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title cmpg-double
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/cmpl_2d.d b/src/arch/dalvik/opdefs/cmpl_2d.d
new file mode 100644
index 0000000..b76b73e
--- /dev/null
+++ b/src/arch/dalvik/opdefs/cmpl_2d.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title cmpl-float
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/cmpl_2f.d b/src/arch/dalvik/opdefs/cmpl_2f.d
new file mode 100644
index 0000000..cebd732
--- /dev/null
+++ b/src/arch/dalvik/opdefs/cmpl_2f.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title cmpl-double
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/const_12.d b/src/arch/dalvik/opdefs/const_12.d
new file mode 100644
index 0000000..bc4e4f8
--- /dev/null
+++ b/src/arch/dalvik/opdefs/const_12.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title const/4
+
+@encoding() {
+
+    @format 11n
+
+}
diff --git a/src/arch/dalvik/opdefs/const_13.d b/src/arch/dalvik/opdefs/const_13.d
new file mode 100644
index 0000000..9b65ba4
--- /dev/null
+++ b/src/arch/dalvik/opdefs/const_13.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title const/16
+
+@encoding() {
+
+    @format 21s
+
+}
diff --git a/src/arch/dalvik/opdefs/const_14.d b/src/arch/dalvik/opdefs/const_14.d
new file mode 100644
index 0000000..039d372
--- /dev/null
+++ b/src/arch/dalvik/opdefs/const_14.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title const
+
+@encoding() {
+
+    @format 31i
+
+}
diff --git a/src/arch/dalvik/opdefs/const_15.d b/src/arch/dalvik/opdefs/const_15.d
new file mode 100644
index 0000000..add0673
--- /dev/null
+++ b/src/arch/dalvik/opdefs/const_15.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title const/high16
+
+@encoding() {
+
+    @format 21h
+
+}
diff --git a/src/arch/dalvik/opdefs/const_16.d b/src/arch/dalvik/opdefs/const_16.d
new file mode 100644
index 0000000..cb1ce25
--- /dev/null
+++ b/src/arch/dalvik/opdefs/const_16.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title const-wide/16
+
+@encoding() {
+
+    @format 21s
+
+}
diff --git a/src/arch/dalvik/opdefs/const_17.d b/src/arch/dalvik/opdefs/const_17.d
new file mode 100644
index 0000000..88a9f0c
--- /dev/null
+++ b/src/arch/dalvik/opdefs/const_17.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title const-wide/32
+
+@encoding() {
+
+    @format 31i
+
+}
diff --git a/src/arch/dalvik/opdefs/const_18.d b/src/arch/dalvik/opdefs/const_18.d
new file mode 100644
index 0000000..d792add
--- /dev/null
+++ b/src/arch/dalvik/opdefs/const_18.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title const-wide
+
+@encoding() {
+
+    @format 51l
+
+}
diff --git a/src/arch/dalvik/opdefs/const_19.d b/src/arch/dalvik/opdefs/const_19.d
new file mode 100644
index 0000000..577eaf3
--- /dev/null
+++ b/src/arch/dalvik/opdefs/const_19.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title const-wide/high16
+
+@encoding() {
+
+    @format 21h
+
+}
diff --git a/src/arch/dalvik/opdefs/const_1a.d b/src/arch/dalvik/opdefs/const_1a.d
new file mode 100644
index 0000000..c6d3f62
--- /dev/null
+++ b/src/arch/dalvik/opdefs/const_1a.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title const-string
+
+@encoding() {
+
+    @format 21c
+
+}
diff --git a/src/arch/dalvik/opdefs/const_1b.d b/src/arch/dalvik/opdefs/const_1b.d
new file mode 100644
index 0000000..e7c97e1
--- /dev/null
+++ b/src/arch/dalvik/opdefs/const_1b.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title const-string/jumbo
+
+@encoding() {
+
+    @format 31c
+
+}
diff --git a/src/arch/dalvik/opdefs/const_1c.d b/src/arch/dalvik/opdefs/const_1c.d
new file mode 100644
index 0000000..623fca0
--- /dev/null
+++ b/src/arch/dalvik/opdefs/const_1c.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title const-class
+
+@encoding() {
+
+    @format 21c
+
+}
diff --git a/src/arch/dalvik/opdefs/div_93.d b/src/arch/dalvik/opdefs/div_93.d
new file mode 100644
index 0000000..cfb7f34
--- /dev/null
+++ b/src/arch/dalvik/opdefs/div_93.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title div-int
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/div_9e.d b/src/arch/dalvik/opdefs/div_9e.d
new file mode 100644
index 0000000..b12ebd1
--- /dev/null
+++ b/src/arch/dalvik/opdefs/div_9e.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title div-long
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/div_a9.d b/src/arch/dalvik/opdefs/div_a9.d
new file mode 100644
index 0000000..f7ce52e
--- /dev/null
+++ b/src/arch/dalvik/opdefs/div_a9.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title div-float
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/div_ae.d b/src/arch/dalvik/opdefs/div_ae.d
new file mode 100644
index 0000000..fae8164
--- /dev/null
+++ b/src/arch/dalvik/opdefs/div_ae.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title div-double
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/div_b3.d b/src/arch/dalvik/opdefs/div_b3.d
new file mode 100644
index 0000000..d1cf5d9
--- /dev/null
+++ b/src/arch/dalvik/opdefs/div_b3.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title div-int/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/div_be.d b/src/arch/dalvik/opdefs/div_be.d
new file mode 100644
index 0000000..a146c29
--- /dev/null
+++ b/src/arch/dalvik/opdefs/div_be.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title div-long/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/div_c9.d b/src/arch/dalvik/opdefs/div_c9.d
new file mode 100644
index 0000000..541ed90
--- /dev/null
+++ b/src/arch/dalvik/opdefs/div_c9.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title div-float/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/div_ce.d b/src/arch/dalvik/opdefs/div_ce.d
new file mode 100644
index 0000000..2c735e4
--- /dev/null
+++ b/src/arch/dalvik/opdefs/div_ce.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title div-double/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/div_d3.d b/src/arch/dalvik/opdefs/div_d3.d
new file mode 100644
index 0000000..9dde5bd
--- /dev/null
+++ b/src/arch/dalvik/opdefs/div_d3.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title div-int/lit16
+
+@encoding() {
+
+    @format 22s
+
+}
diff --git a/src/arch/dalvik/opdefs/div_db.d b/src/arch/dalvik/opdefs/div_db.d
new file mode 100644
index 0000000..6754ed8
--- /dev/null
+++ b/src/arch/dalvik/opdefs/div_db.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title div-int/lit8
+
+@encoding() {
+
+    @format 22b
+
+}
diff --git a/src/arch/dalvik/opdefs/filled_25.d b/src/arch/dalvik/opdefs/filled_25.d
new file mode 100644
index 0000000..7bb4088
--- /dev/null
+++ b/src/arch/dalvik/opdefs/filled_25.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title filled-new-array/range
+
+@encoding() {
+
+    @format 3rc
+
+}
diff --git a/src/arch/dalvik/opdefs/goto_28.d b/src/arch/dalvik/opdefs/goto_28.d
new file mode 100644
index 0000000..ab5d4e6
--- /dev/null
+++ b/src/arch/dalvik/opdefs/goto_28.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title goto
+
+@encoding() {
+
+    @format 10t
+
+}
diff --git a/src/arch/dalvik/opdefs/goto_29.d b/src/arch/dalvik/opdefs/goto_29.d
new file mode 100644
index 0000000..3df2500
--- /dev/null
+++ b/src/arch/dalvik/opdefs/goto_29.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title goto/16
+
+@encoding() {
+
+    @format 20t
+
+}
diff --git a/src/arch/dalvik/opdefs/goto_2a.d b/src/arch/dalvik/opdefs/goto_2a.d
new file mode 100644
index 0000000..ea2f8aa
--- /dev/null
+++ b/src/arch/dalvik/opdefs/goto_2a.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title goto/32
+
+@encoding() {
+
+    @format 30t
+
+}
diff --git a/src/arch/dalvik/opdefs/if_32.d b/src/arch/dalvik/opdefs/if_32.d
new file mode 100644
index 0000000..587b4c2
--- /dev/null
+++ b/src/arch/dalvik/opdefs/if_32.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title if-eq
+
+@encoding() {
+
+    @format 22t
+
+}
diff --git a/src/arch/dalvik/opdefs/if_33.d b/src/arch/dalvik/opdefs/if_33.d
new file mode 100644
index 0000000..51f09cc
--- /dev/null
+++ b/src/arch/dalvik/opdefs/if_33.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title if-ne
+
+@encoding() {
+
+    @format 22t
+
+}
diff --git a/src/arch/dalvik/opdefs/if_34.d b/src/arch/dalvik/opdefs/if_34.d
new file mode 100644
index 0000000..14429eb
--- /dev/null
+++ b/src/arch/dalvik/opdefs/if_34.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title if-lt
+
+@encoding() {
+
+    @format 22t
+
+}
diff --git a/src/arch/dalvik/opdefs/if_35.d b/src/arch/dalvik/opdefs/if_35.d
new file mode 100644
index 0000000..642e1b0
--- /dev/null
+++ b/src/arch/dalvik/opdefs/if_35.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title if-ge
+
+@encoding() {
+
+    @format 22t
+
+}
diff --git a/src/arch/dalvik/opdefs/if_36.d b/src/arch/dalvik/opdefs/if_36.d
new file mode 100644
index 0000000..962b341
--- /dev/null
+++ b/src/arch/dalvik/opdefs/if_36.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title if-gt
+
+@encoding() {
+
+    @format 22t
+
+}
diff --git a/src/arch/dalvik/opdefs/if_37.d b/src/arch/dalvik/opdefs/if_37.d
new file mode 100644
index 0000000..29f1601
--- /dev/null
+++ b/src/arch/dalvik/opdefs/if_37.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title if-le
+
+@encoding() {
+
+    @format 22t
+
+}
diff --git a/src/arch/dalvik/opdefs/if_38.d b/src/arch/dalvik/opdefs/if_38.d
new file mode 100644
index 0000000..19d0ad9
--- /dev/null
+++ b/src/arch/dalvik/opdefs/if_38.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title if-eqz
+
+@encoding() {
+
+    @format 21t
+
+}
diff --git a/src/arch/dalvik/opdefs/if_39.d b/src/arch/dalvik/opdefs/if_39.d
new file mode 100644
index 0000000..fc63f81
--- /dev/null
+++ b/src/arch/dalvik/opdefs/if_39.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title if-nez
+
+@encoding() {
+
+    @format 21t
+
+}
diff --git a/src/arch/dalvik/opdefs/if_3a.d b/src/arch/dalvik/opdefs/if_3a.d
new file mode 100644
index 0000000..4f78692
--- /dev/null
+++ b/src/arch/dalvik/opdefs/if_3a.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title if-ltz
+
+@encoding() {
+
+    @format 21t
+
+}
diff --git a/src/arch/dalvik/opdefs/if_3b.d b/src/arch/dalvik/opdefs/if_3b.d
new file mode 100644
index 0000000..2d4a804
--- /dev/null
+++ b/src/arch/dalvik/opdefs/if_3b.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title if-gez
+
+@encoding() {
+
+    @format 21t
+
+}
diff --git a/src/arch/dalvik/opdefs/if_3c.d b/src/arch/dalvik/opdefs/if_3c.d
new file mode 100644
index 0000000..08dcf19
--- /dev/null
+++ b/src/arch/dalvik/opdefs/if_3c.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title if-gtz
+
+@encoding() {
+
+    @format 21t
+
+}
diff --git a/src/arch/dalvik/opdefs/if_3d.d b/src/arch/dalvik/opdefs/if_3d.d
new file mode 100644
index 0000000..fd0b239
--- /dev/null
+++ b/src/arch/dalvik/opdefs/if_3d.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title if-lez
+
+@encoding() {
+
+    @format 21t
+
+}
diff --git a/src/arch/dalvik/opdefs/iget_52.d b/src/arch/dalvik/opdefs/iget_52.d
new file mode 100644
index 0000000..6217ddb
--- /dev/null
+++ b/src/arch/dalvik/opdefs/iget_52.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title iget
+
+@encoding() {
+
+    @format 22c
+
+}
diff --git a/src/arch/dalvik/opdefs/iget_53.d b/src/arch/dalvik/opdefs/iget_53.d
new file mode 100644
index 0000000..adf089e
--- /dev/null
+++ b/src/arch/dalvik/opdefs/iget_53.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title iget-wide
+
+@encoding() {
+
+    @format 22c
+
+}
diff --git a/src/arch/dalvik/opdefs/iget_54.d b/src/arch/dalvik/opdefs/iget_54.d
new file mode 100644
index 0000000..45bc02c
--- /dev/null
+++ b/src/arch/dalvik/opdefs/iget_54.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title iget-object
+
+@encoding() {
+
+    @format 22c
+
+}
diff --git a/src/arch/dalvik/opdefs/iget_55.d b/src/arch/dalvik/opdefs/iget_55.d
new file mode 100644
index 0000000..d5a37bc
--- /dev/null
+++ b/src/arch/dalvik/opdefs/iget_55.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title iget-boolean
+
+@encoding() {
+
+    @format 22c
+
+}
diff --git a/src/arch/dalvik/opdefs/iget_56.d b/src/arch/dalvik/opdefs/iget_56.d
new file mode 100644
index 0000000..5bffd30
--- /dev/null
+++ b/src/arch/dalvik/opdefs/iget_56.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title iget-byte
+
+@encoding() {
+
+    @format 22c
+
+}
diff --git a/src/arch/dalvik/opdefs/iget_57.d b/src/arch/dalvik/opdefs/iget_57.d
new file mode 100644
index 0000000..43ba4b6
--- /dev/null
+++ b/src/arch/dalvik/opdefs/iget_57.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title iget-char
+
+@encoding() {
+
+    @format 22c
+
+}
diff --git a/src/arch/dalvik/opdefs/iget_58.d b/src/arch/dalvik/opdefs/iget_58.d
new file mode 100644
index 0000000..aba5271
--- /dev/null
+++ b/src/arch/dalvik/opdefs/iget_58.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title iget-short
+
+@encoding() {
+
+    @format 22c
+
+}
diff --git a/src/arch/dalvik/opdefs/instanceof_20.d b/src/arch/dalvik/opdefs/instanceof_20.d
new file mode 100644
index 0000000..82136a2
--- /dev/null
+++ b/src/arch/dalvik/opdefs/instanceof_20.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title instance-of
+
+@encoding() {
+
+    @format 22c
+
+}
diff --git a/src/arch/dalvik/opdefs/invoke_6e.d b/src/arch/dalvik/opdefs/invoke_6e.d
new file mode 100644
index 0000000..e9a679b
--- /dev/null
+++ b/src/arch/dalvik/opdefs/invoke_6e.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title invoke-virtual
+
+@encoding() {
+
+    @format 35c
+
+}
diff --git a/src/arch/dalvik/opdefs/invoke_6f.d b/src/arch/dalvik/opdefs/invoke_6f.d
new file mode 100644
index 0000000..80834e2
--- /dev/null
+++ b/src/arch/dalvik/opdefs/invoke_6f.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title invoke-super
+
+@encoding() {
+
+    @format 35c
+
+}
diff --git a/src/arch/dalvik/opdefs/invoke_70.d b/src/arch/dalvik/opdefs/invoke_70.d
new file mode 100644
index 0000000..0624fa3
--- /dev/null
+++ b/src/arch/dalvik/opdefs/invoke_70.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title invoke-direct
+
+@encoding() {
+
+    @format 35c
+
+}
diff --git a/src/arch/dalvik/opdefs/invoke_71.d b/src/arch/dalvik/opdefs/invoke_71.d
new file mode 100644
index 0000000..7088d9f
--- /dev/null
+++ b/src/arch/dalvik/opdefs/invoke_71.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title invoke-static
+
+@encoding() {
+
+    @format 35c
+
+}
diff --git a/src/arch/dalvik/opdefs/invoke_72.d b/src/arch/dalvik/opdefs/invoke_72.d
new file mode 100644
index 0000000..fc15dd6
--- /dev/null
+++ b/src/arch/dalvik/opdefs/invoke_72.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title invoke-interface
+
+@encoding() {
+
+    @format 35c
+
+}
diff --git a/src/arch/dalvik/opdefs/invoke_74.d b/src/arch/dalvik/opdefs/invoke_74.d
new file mode 100644
index 0000000..0703ea7
--- /dev/null
+++ b/src/arch/dalvik/opdefs/invoke_74.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title invoke-virtual/range
+
+@encoding() {
+
+    @format 3rc
+
+}
diff --git a/src/arch/dalvik/opdefs/invoke_75.d b/src/arch/dalvik/opdefs/invoke_75.d
new file mode 100644
index 0000000..351ccc7
--- /dev/null
+++ b/src/arch/dalvik/opdefs/invoke_75.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title invoke-super/range
+
+@encoding() {
+
+    @format 3rc
+
+}
diff --git a/src/arch/dalvik/opdefs/invoke_76.d b/src/arch/dalvik/opdefs/invoke_76.d
new file mode 100644
index 0000000..cf00220
--- /dev/null
+++ b/src/arch/dalvik/opdefs/invoke_76.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title invoke-direct/range
+
+@encoding() {
+
+    @format 3rc
+
+}
diff --git a/src/arch/dalvik/opdefs/invoke_77.d b/src/arch/dalvik/opdefs/invoke_77.d
new file mode 100644
index 0000000..76aa1d0
--- /dev/null
+++ b/src/arch/dalvik/opdefs/invoke_77.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title invoke-static/range
+
+@encoding() {
+
+    @format 3rc
+
+}
diff --git a/src/arch/dalvik/opdefs/invoke_78.d b/src/arch/dalvik/opdefs/invoke_78.d
new file mode 100644
index 0000000..fd4d1ee
--- /dev/null
+++ b/src/arch/dalvik/opdefs/invoke_78.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title invoke-interface/range
+
+@encoding() {
+
+    @format 3rc
+
+}
diff --git a/src/arch/dalvik/opdefs/iput_59.d b/src/arch/dalvik/opdefs/iput_59.d
new file mode 100644
index 0000000..d4058c3
--- /dev/null
+++ b/src/arch/dalvik/opdefs/iput_59.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title iput
+
+@encoding() {
+
+    @format 22c
+
+}
diff --git a/src/arch/dalvik/opdefs/iput_5a.d b/src/arch/dalvik/opdefs/iput_5a.d
new file mode 100644
index 0000000..84ba41a
--- /dev/null
+++ b/src/arch/dalvik/opdefs/iput_5a.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title iput-wide
+
+@encoding() {
+
+    @format 22c
+
+}
diff --git a/src/arch/dalvik/opdefs/iput_5b.d b/src/arch/dalvik/opdefs/iput_5b.d
new file mode 100644
index 0000000..628bfc2
--- /dev/null
+++ b/src/arch/dalvik/opdefs/iput_5b.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title iput-object
+
+@encoding() {
+
+    @format 22c
+
+}
diff --git a/src/arch/dalvik/opdefs/iput_5c.d b/src/arch/dalvik/opdefs/iput_5c.d
new file mode 100644
index 0000000..7121604
--- /dev/null
+++ b/src/arch/dalvik/opdefs/iput_5c.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title iput-boolean
+
+@encoding() {
+
+    @format 22c
+
+}
diff --git a/src/arch/dalvik/opdefs/iput_5d.d b/src/arch/dalvik/opdefs/iput_5d.d
new file mode 100644
index 0000000..96ff6c0
--- /dev/null
+++ b/src/arch/dalvik/opdefs/iput_5d.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title iput-byte
+
+@encoding() {
+
+    @format 22c
+
+}
diff --git a/src/arch/dalvik/opdefs/iput_5e.d b/src/arch/dalvik/opdefs/iput_5e.d
new file mode 100644
index 0000000..888ce46
--- /dev/null
+++ b/src/arch/dalvik/opdefs/iput_5e.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title iput-char
+
+@encoding() {
+
+    @format 22c
+
+}
diff --git a/src/arch/dalvik/opdefs/iput_5f.d b/src/arch/dalvik/opdefs/iput_5f.d
new file mode 100644
index 0000000..5ed0a01
--- /dev/null
+++ b/src/arch/dalvik/opdefs/iput_5f.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title iput-short
+
+@encoding() {
+
+    @format 22c
+
+}
diff --git a/src/arch/dalvik/opdefs/monitor_1d.d b/src/arch/dalvik/opdefs/monitor_1d.d
new file mode 100644
index 0000000..ab7ce5f
--- /dev/null
+++ b/src/arch/dalvik/opdefs/monitor_1d.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title monitor-enter
+
+@encoding() {
+
+    @format 11x
+
+}
diff --git a/src/arch/dalvik/opdefs/monitor_1e.d b/src/arch/dalvik/opdefs/monitor_1e.d
new file mode 100644
index 0000000..b5b0d20
--- /dev/null
+++ b/src/arch/dalvik/opdefs/monitor_1e.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title monitor-exit
+
+@encoding() {
+
+    @format 11x
+
+}
diff --git a/src/arch/dalvik/opdefs/move_01.d b/src/arch/dalvik/opdefs/move_01.d
new file mode 100644
index 0000000..caa2a85
--- /dev/null
+++ b/src/arch/dalvik/opdefs/move_01.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title move
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/move_02.d b/src/arch/dalvik/opdefs/move_02.d
new file mode 100644
index 0000000..c8b96bd
--- /dev/null
+++ b/src/arch/dalvik/opdefs/move_02.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title move/from16
+
+@encoding() {
+
+    @format 22x
+
+}
diff --git a/src/arch/dalvik/opdefs/move_03.d b/src/arch/dalvik/opdefs/move_03.d
new file mode 100644
index 0000000..6957de7
--- /dev/null
+++ b/src/arch/dalvik/opdefs/move_03.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title move/16
+
+@encoding() {
+
+    @format 32x
+
+}
diff --git a/src/arch/dalvik/opdefs/move_04.d b/src/arch/dalvik/opdefs/move_04.d
new file mode 100644
index 0000000..57196cc
--- /dev/null
+++ b/src/arch/dalvik/opdefs/move_04.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title move-wide
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/move_05.d b/src/arch/dalvik/opdefs/move_05.d
new file mode 100644
index 0000000..2b974bb
--- /dev/null
+++ b/src/arch/dalvik/opdefs/move_05.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title move-wide/from16
+
+@encoding() {
+
+    @format 22x
+
+}
diff --git a/src/arch/dalvik/opdefs/move_06.d b/src/arch/dalvik/opdefs/move_06.d
new file mode 100644
index 0000000..4acaf62
--- /dev/null
+++ b/src/arch/dalvik/opdefs/move_06.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title move-wide/16
+
+@encoding() {
+
+    @format 32x
+
+}
diff --git a/src/arch/dalvik/opdefs/move_07.d b/src/arch/dalvik/opdefs/move_07.d
new file mode 100644
index 0000000..cde3102
--- /dev/null
+++ b/src/arch/dalvik/opdefs/move_07.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title move-object
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/move_08.d b/src/arch/dalvik/opdefs/move_08.d
new file mode 100644
index 0000000..aba0cad
--- /dev/null
+++ b/src/arch/dalvik/opdefs/move_08.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title move-object/from16
+
+@encoding() {
+
+    @format 22x
+
+}
diff --git a/src/arch/dalvik/opdefs/move_09.d b/src/arch/dalvik/opdefs/move_09.d
new file mode 100644
index 0000000..3bf6a65
--- /dev/null
+++ b/src/arch/dalvik/opdefs/move_09.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title move-object/16
+
+@encoding() {
+
+    @format 32x
+
+}
diff --git a/src/arch/dalvik/opdefs/move_0a.d b/src/arch/dalvik/opdefs/move_0a.d
new file mode 100644
index 0000000..b6a185a
--- /dev/null
+++ b/src/arch/dalvik/opdefs/move_0a.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title move-result
+
+@encoding() {
+
+    @format 11x
+
+}
diff --git a/src/arch/dalvik/opdefs/move_0b.d b/src/arch/dalvik/opdefs/move_0b.d
new file mode 100644
index 0000000..d266cb8
--- /dev/null
+++ b/src/arch/dalvik/opdefs/move_0b.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title move-result-wide
+
+@encoding() {
+
+    @format 11x
+
+}
diff --git a/src/arch/dalvik/opdefs/move_0c.d b/src/arch/dalvik/opdefs/move_0c.d
new file mode 100644
index 0000000..8e6f67f
--- /dev/null
+++ b/src/arch/dalvik/opdefs/move_0c.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title move-result-object
+
+@encoding() {
+
+    @format 11x
+
+}
diff --git a/src/arch/dalvik/opdefs/move_0d.d b/src/arch/dalvik/opdefs/move_0d.d
new file mode 100644
index 0000000..f442006
--- /dev/null
+++ b/src/arch/dalvik/opdefs/move_0d.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title move-exception
+
+@encoding() {
+
+    @format 11x
+
+}
diff --git a/src/arch/dalvik/opdefs/mul_92.d b/src/arch/dalvik/opdefs/mul_92.d
new file mode 100644
index 0000000..83b5cac
--- /dev/null
+++ b/src/arch/dalvik/opdefs/mul_92.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title mul-int
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/mul_9d.d b/src/arch/dalvik/opdefs/mul_9d.d
new file mode 100644
index 0000000..ecc216d
--- /dev/null
+++ b/src/arch/dalvik/opdefs/mul_9d.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title mul-long
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/mul_a8.d b/src/arch/dalvik/opdefs/mul_a8.d
new file mode 100644
index 0000000..63e51e5
--- /dev/null
+++ b/src/arch/dalvik/opdefs/mul_a8.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title mul-float
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/mul_ad.d b/src/arch/dalvik/opdefs/mul_ad.d
new file mode 100644
index 0000000..17f950c
--- /dev/null
+++ b/src/arch/dalvik/opdefs/mul_ad.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title mul-double
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/mul_b2.d b/src/arch/dalvik/opdefs/mul_b2.d
new file mode 100644
index 0000000..a7b917c
--- /dev/null
+++ b/src/arch/dalvik/opdefs/mul_b2.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title mul-int/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/mul_bd.d b/src/arch/dalvik/opdefs/mul_bd.d
new file mode 100644
index 0000000..8ce23b1
--- /dev/null
+++ b/src/arch/dalvik/opdefs/mul_bd.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title mul-long/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/mul_c8.d b/src/arch/dalvik/opdefs/mul_c8.d
new file mode 100644
index 0000000..1d17cc1
--- /dev/null
+++ b/src/arch/dalvik/opdefs/mul_c8.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title mul-float/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/mul_cd.d b/src/arch/dalvik/opdefs/mul_cd.d
new file mode 100644
index 0000000..1816780
--- /dev/null
+++ b/src/arch/dalvik/opdefs/mul_cd.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title mul-double/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/mul_d2.d b/src/arch/dalvik/opdefs/mul_d2.d
new file mode 100644
index 0000000..998ecd7
--- /dev/null
+++ b/src/arch/dalvik/opdefs/mul_d2.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title mul-int/lit16
+
+@encoding() {
+
+    @format 22s
+
+}
diff --git a/src/arch/dalvik/opdefs/mul_da.d b/src/arch/dalvik/opdefs/mul_da.d
new file mode 100644
index 0000000..4c1a264
--- /dev/null
+++ b/src/arch/dalvik/opdefs/mul_da.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title mul-int/lit8
+
+@encoding() {
+
+    @format 22b
+
+}
diff --git a/src/arch/dalvik/opdefs/neg_7b.d b/src/arch/dalvik/opdefs/neg_7b.d
new file mode 100644
index 0000000..c8ec7df
--- /dev/null
+++ b/src/arch/dalvik/opdefs/neg_7b.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title neg-int
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/neg_7d.d b/src/arch/dalvik/opdefs/neg_7d.d
new file mode 100644
index 0000000..3d442c3
--- /dev/null
+++ b/src/arch/dalvik/opdefs/neg_7d.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title neg-long
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/neg_7f.d b/src/arch/dalvik/opdefs/neg_7f.d
new file mode 100644
index 0000000..d30ede6
--- /dev/null
+++ b/src/arch/dalvik/opdefs/neg_7f.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title neg-float
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/neg_80.d b/src/arch/dalvik/opdefs/neg_80.d
new file mode 100644
index 0000000..49d6bdd
--- /dev/null
+++ b/src/arch/dalvik/opdefs/neg_80.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title neg-double
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/new_22.d b/src/arch/dalvik/opdefs/new_22.d
new file mode 100644
index 0000000..4c13f0e
--- /dev/null
+++ b/src/arch/dalvik/opdefs/new_22.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title new-instance
+
+@encoding() {
+
+    @format 21c
+
+}
diff --git a/src/arch/dalvik/opdefs/new_23.d b/src/arch/dalvik/opdefs/new_23.d
new file mode 100644
index 0000000..ab61cd4
--- /dev/null
+++ b/src/arch/dalvik/opdefs/new_23.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title new-array
+
+@encoding() {
+
+    @format 22c
+
+}
diff --git a/src/arch/dalvik/opdefs/nop_00.d b/src/arch/dalvik/opdefs/nop_00.d
new file mode 100644
index 0000000..d10d439
--- /dev/null
+++ b/src/arch/dalvik/opdefs/nop_00.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title nop
+
+@encoding() {
+
+    @format 10x
+
+}
diff --git a/src/arch/dalvik/opdefs/not_7c.d b/src/arch/dalvik/opdefs/not_7c.d
new file mode 100644
index 0000000..d52ad8c
--- /dev/null
+++ b/src/arch/dalvik/opdefs/not_7c.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title not-int
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/not_7e.d b/src/arch/dalvik/opdefs/not_7e.d
new file mode 100644
index 0000000..4291d7a
--- /dev/null
+++ b/src/arch/dalvik/opdefs/not_7e.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title not-long
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/or_96.d b/src/arch/dalvik/opdefs/or_96.d
new file mode 100644
index 0000000..62f24a5
--- /dev/null
+++ b/src/arch/dalvik/opdefs/or_96.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title or-int
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/or_a1.d b/src/arch/dalvik/opdefs/or_a1.d
new file mode 100644
index 0000000..2867a81
--- /dev/null
+++ b/src/arch/dalvik/opdefs/or_a1.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title or-long
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/or_b6.d b/src/arch/dalvik/opdefs/or_b6.d
new file mode 100644
index 0000000..3d56801
--- /dev/null
+++ b/src/arch/dalvik/opdefs/or_b6.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title or-int/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/or_c1.d b/src/arch/dalvik/opdefs/or_c1.d
new file mode 100644
index 0000000..8d13da3
--- /dev/null
+++ b/src/arch/dalvik/opdefs/or_c1.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title or-long/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/or_d6.d b/src/arch/dalvik/opdefs/or_d6.d
new file mode 100644
index 0000000..71766a3
--- /dev/null
+++ b/src/arch/dalvik/opdefs/or_d6.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title or-int/lit16
+
+@encoding() {
+
+    @format 22s
+
+}
diff --git a/src/arch/dalvik/opdefs/or_de.d b/src/arch/dalvik/opdefs/or_de.d
new file mode 100644
index 0000000..1c293a5
--- /dev/null
+++ b/src/arch/dalvik/opdefs/or_de.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title or-int/lit8
+
+@encoding() {
+
+    @format 22b
+
+}
diff --git a/src/arch/dalvik/opdefs/rem_94.d b/src/arch/dalvik/opdefs/rem_94.d
new file mode 100644
index 0000000..9238d14
--- /dev/null
+++ b/src/arch/dalvik/opdefs/rem_94.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title rem-int
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/rem_9f.d b/src/arch/dalvik/opdefs/rem_9f.d
new file mode 100644
index 0000000..6aef568
--- /dev/null
+++ b/src/arch/dalvik/opdefs/rem_9f.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title rem-long
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/rem_aa.d b/src/arch/dalvik/opdefs/rem_aa.d
new file mode 100644
index 0000000..71a0d8b
--- /dev/null
+++ b/src/arch/dalvik/opdefs/rem_aa.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title rem-float
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/rem_af.d b/src/arch/dalvik/opdefs/rem_af.d
new file mode 100644
index 0000000..dc092a1
--- /dev/null
+++ b/src/arch/dalvik/opdefs/rem_af.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title rem-double
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/rem_b4.d b/src/arch/dalvik/opdefs/rem_b4.d
new file mode 100644
index 0000000..fada523
--- /dev/null
+++ b/src/arch/dalvik/opdefs/rem_b4.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title rem-int/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/rem_bf.d b/src/arch/dalvik/opdefs/rem_bf.d
new file mode 100644
index 0000000..b6b0997
--- /dev/null
+++ b/src/arch/dalvik/opdefs/rem_bf.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title rem-long/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/rem_ca.d b/src/arch/dalvik/opdefs/rem_ca.d
new file mode 100644
index 0000000..3c6d287
--- /dev/null
+++ b/src/arch/dalvik/opdefs/rem_ca.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title rem-float/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/rem_cf.d b/src/arch/dalvik/opdefs/rem_cf.d
new file mode 100644
index 0000000..1881502
--- /dev/null
+++ b/src/arch/dalvik/opdefs/rem_cf.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title rem-double/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/rem_d4.d b/src/arch/dalvik/opdefs/rem_d4.d
new file mode 100644
index 0000000..84d12b8
--- /dev/null
+++ b/src/arch/dalvik/opdefs/rem_d4.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title rem-int/lit16
+
+@encoding() {
+
+    @format 22s
+
+}
diff --git a/src/arch/dalvik/opdefs/rem_dc.d b/src/arch/dalvik/opdefs/rem_dc.d
new file mode 100644
index 0000000..f70f9e9
--- /dev/null
+++ b/src/arch/dalvik/opdefs/rem_dc.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title rem-int/lit8
+
+@encoding() {
+
+    @format 22b
+
+}
diff --git a/src/arch/dalvik/opdefs/return_0e.d b/src/arch/dalvik/opdefs/return_0e.d
new file mode 100644
index 0000000..6b71fa7
--- /dev/null
+++ b/src/arch/dalvik/opdefs/return_0e.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title return-void
+
+@encoding() {
+
+    @format 10x
+
+}
diff --git a/src/arch/dalvik/opdefs/return_0f.d b/src/arch/dalvik/opdefs/return_0f.d
new file mode 100644
index 0000000..8fbd711
--- /dev/null
+++ b/src/arch/dalvik/opdefs/return_0f.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title return
+
+@encoding() {
+
+    @format 11x
+
+}
diff --git a/src/arch/dalvik/opdefs/return_10.d b/src/arch/dalvik/opdefs/return_10.d
new file mode 100644
index 0000000..0ff6dd8
--- /dev/null
+++ b/src/arch/dalvik/opdefs/return_10.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title return-wide
+
+@encoding() {
+
+    @format 11x
+
+}
diff --git a/src/arch/dalvik/opdefs/return_11.d b/src/arch/dalvik/opdefs/return_11.d
new file mode 100644
index 0000000..85bf2da
--- /dev/null
+++ b/src/arch/dalvik/opdefs/return_11.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title return-object
+
+@encoding() {
+
+    @format 11x
+
+}
diff --git a/src/arch/dalvik/opdefs/rsub_d1.d b/src/arch/dalvik/opdefs/rsub_d1.d
new file mode 100644
index 0000000..0d05c84
--- /dev/null
+++ b/src/arch/dalvik/opdefs/rsub_d1.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title rsub-int
+
+@encoding() {
+
+    @format 22s
+
+}
diff --git a/src/arch/dalvik/opdefs/rsub_d9.d b/src/arch/dalvik/opdefs/rsub_d9.d
new file mode 100644
index 0000000..0f2f656
--- /dev/null
+++ b/src/arch/dalvik/opdefs/rsub_d9.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title rsub-int/lit8
+
+@encoding() {
+
+    @format 22b
+
+}
diff --git a/src/arch/dalvik/opdefs/sget_60.d b/src/arch/dalvik/opdefs/sget_60.d
new file mode 100644
index 0000000..803e09c
--- /dev/null
+++ b/src/arch/dalvik/opdefs/sget_60.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title sget
+
+@encoding() {
+
+    @format 21c
+
+}
diff --git a/src/arch/dalvik/opdefs/sget_61.d b/src/arch/dalvik/opdefs/sget_61.d
new file mode 100644
index 0000000..9681de3
--- /dev/null
+++ b/src/arch/dalvik/opdefs/sget_61.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title sget-wide
+
+@encoding() {
+
+    @format 21c
+
+}
diff --git a/src/arch/dalvik/opdefs/sget_62.d b/src/arch/dalvik/opdefs/sget_62.d
new file mode 100644
index 0000000..0a21e7c
--- /dev/null
+++ b/src/arch/dalvik/opdefs/sget_62.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title sget-object
+
+@encoding() {
+
+    @format 21c
+
+}
diff --git a/src/arch/dalvik/opdefs/sget_63.d b/src/arch/dalvik/opdefs/sget_63.d
new file mode 100644
index 0000000..f0d7ab7
--- /dev/null
+++ b/src/arch/dalvik/opdefs/sget_63.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title sget-boolean
+
+@encoding() {
+
+    @format 21c
+
+}
diff --git a/src/arch/dalvik/opdefs/sget_64.d b/src/arch/dalvik/opdefs/sget_64.d
new file mode 100644
index 0000000..7dc329e
--- /dev/null
+++ b/src/arch/dalvik/opdefs/sget_64.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title sget-byte
+
+@encoding() {
+
+    @format 21c
+
+}
diff --git a/src/arch/dalvik/opdefs/sget_65.d b/src/arch/dalvik/opdefs/sget_65.d
new file mode 100644
index 0000000..8336764
--- /dev/null
+++ b/src/arch/dalvik/opdefs/sget_65.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title sget-char
+
+@encoding() {
+
+    @format 21c
+
+}
diff --git a/src/arch/dalvik/opdefs/sget_66.d b/src/arch/dalvik/opdefs/sget_66.d
new file mode 100644
index 0000000..fc6440a
--- /dev/null
+++ b/src/arch/dalvik/opdefs/sget_66.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title sget-short
+
+@encoding() {
+
+    @format 21c
+
+}
diff --git a/src/arch/dalvik/opdefs/shl_98.d b/src/arch/dalvik/opdefs/shl_98.d
new file mode 100644
index 0000000..bfb92bd
--- /dev/null
+++ b/src/arch/dalvik/opdefs/shl_98.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title shl-int
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/shl_a3.d b/src/arch/dalvik/opdefs/shl_a3.d
new file mode 100644
index 0000000..c3772b0
--- /dev/null
+++ b/src/arch/dalvik/opdefs/shl_a3.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title shl-long
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/shl_b8.d b/src/arch/dalvik/opdefs/shl_b8.d
new file mode 100644
index 0000000..70f99e1
--- /dev/null
+++ b/src/arch/dalvik/opdefs/shl_b8.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title shl-int/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/shl_c3.d b/src/arch/dalvik/opdefs/shl_c3.d
new file mode 100644
index 0000000..94d35e5
--- /dev/null
+++ b/src/arch/dalvik/opdefs/shl_c3.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title shl-long/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/shl_e0.d b/src/arch/dalvik/opdefs/shl_e0.d
new file mode 100644
index 0000000..c5c8d50
--- /dev/null
+++ b/src/arch/dalvik/opdefs/shl_e0.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title shl-int/lit8
+
+@encoding() {
+
+    @format 22b
+
+}
diff --git a/src/arch/dalvik/opdefs/shr_99.d b/src/arch/dalvik/opdefs/shr_99.d
new file mode 100644
index 0000000..203e4d5
--- /dev/null
+++ b/src/arch/dalvik/opdefs/shr_99.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title shr-int
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/shr_a4.d b/src/arch/dalvik/opdefs/shr_a4.d
new file mode 100644
index 0000000..16e07a6
--- /dev/null
+++ b/src/arch/dalvik/opdefs/shr_a4.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title shr-long
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/shr_b9.d b/src/arch/dalvik/opdefs/shr_b9.d
new file mode 100644
index 0000000..5f48795
--- /dev/null
+++ b/src/arch/dalvik/opdefs/shr_b9.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title shr-int/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/shr_c4.d b/src/arch/dalvik/opdefs/shr_c4.d
new file mode 100644
index 0000000..80cbfee
--- /dev/null
+++ b/src/arch/dalvik/opdefs/shr_c4.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title shr-long/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/shr_e1.d b/src/arch/dalvik/opdefs/shr_e1.d
new file mode 100644
index 0000000..38a30dc
--- /dev/null
+++ b/src/arch/dalvik/opdefs/shr_e1.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title shr-int/lit8
+
+@encoding() {
+
+    @format 22b
+
+}
diff --git a/src/arch/dalvik/opdefs/sput_67.d b/src/arch/dalvik/opdefs/sput_67.d
new file mode 100644
index 0000000..e7157a5
--- /dev/null
+++ b/src/arch/dalvik/opdefs/sput_67.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title sput
+
+@encoding() {
+
+    @format 21c
+
+}
diff --git a/src/arch/dalvik/opdefs/sput_68.d b/src/arch/dalvik/opdefs/sput_68.d
new file mode 100644
index 0000000..e6a8948
--- /dev/null
+++ b/src/arch/dalvik/opdefs/sput_68.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title sput-wide
+
+@encoding() {
+
+    @format 21c
+
+}
diff --git a/src/arch/dalvik/opdefs/sput_69.d b/src/arch/dalvik/opdefs/sput_69.d
new file mode 100644
index 0000000..f41e84c
--- /dev/null
+++ b/src/arch/dalvik/opdefs/sput_69.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title sput-object
+
+@encoding() {
+
+    @format 21c
+
+}
diff --git a/src/arch/dalvik/opdefs/sput_6a.d b/src/arch/dalvik/opdefs/sput_6a.d
new file mode 100644
index 0000000..17aa26a
--- /dev/null
+++ b/src/arch/dalvik/opdefs/sput_6a.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title sput-boolean
+
+@encoding() {
+
+    @format 21c
+
+}
diff --git a/src/arch/dalvik/opdefs/sput_6b.d b/src/arch/dalvik/opdefs/sput_6b.d
new file mode 100644
index 0000000..8aa83ef
--- /dev/null
+++ b/src/arch/dalvik/opdefs/sput_6b.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title sput-byte
+
+@encoding() {
+
+    @format 21c
+
+}
diff --git a/src/arch/dalvik/opdefs/sput_6c.d b/src/arch/dalvik/opdefs/sput_6c.d
new file mode 100644
index 0000000..b863af4
--- /dev/null
+++ b/src/arch/dalvik/opdefs/sput_6c.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title sput-char
+
+@encoding() {
+
+    @format 21c
+
+}
diff --git a/src/arch/dalvik/opdefs/sput_6d.d b/src/arch/dalvik/opdefs/sput_6d.d
new file mode 100644
index 0000000..65ca067
--- /dev/null
+++ b/src/arch/dalvik/opdefs/sput_6d.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title sput-short
+
+@encoding() {
+
+    @format 21c
+
+}
diff --git a/src/arch/dalvik/opdefs/sub_91.d b/src/arch/dalvik/opdefs/sub_91.d
new file mode 100644
index 0000000..34fd476
--- /dev/null
+++ b/src/arch/dalvik/opdefs/sub_91.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title sub-int
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/sub_9c.d b/src/arch/dalvik/opdefs/sub_9c.d
new file mode 100644
index 0000000..566cb80
--- /dev/null
+++ b/src/arch/dalvik/opdefs/sub_9c.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title sub-long
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/sub_a7.d b/src/arch/dalvik/opdefs/sub_a7.d
new file mode 100644
index 0000000..22851c6
--- /dev/null
+++ b/src/arch/dalvik/opdefs/sub_a7.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title sub-float
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/sub_ac.d b/src/arch/dalvik/opdefs/sub_ac.d
new file mode 100644
index 0000000..c818423
--- /dev/null
+++ b/src/arch/dalvik/opdefs/sub_ac.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title sub-double
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/sub_b1.d b/src/arch/dalvik/opdefs/sub_b1.d
new file mode 100644
index 0000000..4102367
--- /dev/null
+++ b/src/arch/dalvik/opdefs/sub_b1.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title sub-int/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/sub_bc.d b/src/arch/dalvik/opdefs/sub_bc.d
new file mode 100644
index 0000000..b0a22ae
--- /dev/null
+++ b/src/arch/dalvik/opdefs/sub_bc.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title sub-long/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/sub_c7.d b/src/arch/dalvik/opdefs/sub_c7.d
new file mode 100644
index 0000000..dc8fd47
--- /dev/null
+++ b/src/arch/dalvik/opdefs/sub_c7.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title sub-float/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/sub_cc.d b/src/arch/dalvik/opdefs/sub_cc.d
new file mode 100644
index 0000000..d24b702
--- /dev/null
+++ b/src/arch/dalvik/opdefs/sub_cc.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title sub-double/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/switch_2b.d b/src/arch/dalvik/opdefs/switch_2b.d
new file mode 100644
index 0000000..2d13992
--- /dev/null
+++ b/src/arch/dalvik/opdefs/switch_2b.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title packed-switch
+
+@encoding() {
+
+    @format 31t
+
+}
diff --git a/src/arch/dalvik/opdefs/switch_2c.d b/src/arch/dalvik/opdefs/switch_2c.d
new file mode 100644
index 0000000..b56cd9d
--- /dev/null
+++ b/src/arch/dalvik/opdefs/switch_2c.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title sparse-switch
+
+@encoding() {
+
+    @format 31t
+
+}
diff --git a/src/arch/dalvik/opdefs/throw_27.d b/src/arch/dalvik/opdefs/throw_27.d
new file mode 100644
index 0000000..28a8348
--- /dev/null
+++ b/src/arch/dalvik/opdefs/throw_27.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title throw
+
+@encoding() {
+
+    @format 11x
+
+}
diff --git a/src/arch/dalvik/opdefs/to_81.d b/src/arch/dalvik/opdefs/to_81.d
new file mode 100644
index 0000000..e1b45b3
--- /dev/null
+++ b/src/arch/dalvik/opdefs/to_81.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title int-to-long
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/to_82.d b/src/arch/dalvik/opdefs/to_82.d
new file mode 100644
index 0000000..4d5e667
--- /dev/null
+++ b/src/arch/dalvik/opdefs/to_82.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title int-to-float
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/to_83.d b/src/arch/dalvik/opdefs/to_83.d
new file mode 100644
index 0000000..6f764c1
--- /dev/null
+++ b/src/arch/dalvik/opdefs/to_83.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title int-to-double
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/to_84.d b/src/arch/dalvik/opdefs/to_84.d
new file mode 100644
index 0000000..f3076ae
--- /dev/null
+++ b/src/arch/dalvik/opdefs/to_84.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title long-to-int
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/to_85.d b/src/arch/dalvik/opdefs/to_85.d
new file mode 100644
index 0000000..3ac252c
--- /dev/null
+++ b/src/arch/dalvik/opdefs/to_85.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title long-to-float
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/to_86.d b/src/arch/dalvik/opdefs/to_86.d
new file mode 100644
index 0000000..80e9a28
--- /dev/null
+++ b/src/arch/dalvik/opdefs/to_86.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title long-to-double
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/to_87.d b/src/arch/dalvik/opdefs/to_87.d
new file mode 100644
index 0000000..55028e3
--- /dev/null
+++ b/src/arch/dalvik/opdefs/to_87.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title float-to-int
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/to_88.d b/src/arch/dalvik/opdefs/to_88.d
new file mode 100644
index 0000000..2eaa85b
--- /dev/null
+++ b/src/arch/dalvik/opdefs/to_88.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title float-to-long
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/to_89.d b/src/arch/dalvik/opdefs/to_89.d
new file mode 100644
index 0000000..147f280
--- /dev/null
+++ b/src/arch/dalvik/opdefs/to_89.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title float-to-double
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/to_8a.d b/src/arch/dalvik/opdefs/to_8a.d
new file mode 100644
index 0000000..c089942
--- /dev/null
+++ b/src/arch/dalvik/opdefs/to_8a.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title double-to-int
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/to_8b.d b/src/arch/dalvik/opdefs/to_8b.d
new file mode 100644
index 0000000..e60ba2f
--- /dev/null
+++ b/src/arch/dalvik/opdefs/to_8b.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title double-to-long
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/to_8c.d b/src/arch/dalvik/opdefs/to_8c.d
new file mode 100644
index 0000000..b7ee496
--- /dev/null
+++ b/src/arch/dalvik/opdefs/to_8c.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title double-to-float
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/to_8d.d b/src/arch/dalvik/opdefs/to_8d.d
new file mode 100644
index 0000000..28a194e
--- /dev/null
+++ b/src/arch/dalvik/opdefs/to_8d.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title int-to-byte
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/to_8e.d b/src/arch/dalvik/opdefs/to_8e.d
new file mode 100644
index 0000000..c8b2598
--- /dev/null
+++ b/src/arch/dalvik/opdefs/to_8e.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title int-to-char
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/to_8f.d b/src/arch/dalvik/opdefs/to_8f.d
new file mode 100644
index 0000000..697c102
--- /dev/null
+++ b/src/arch/dalvik/opdefs/to_8f.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title int-to-short
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/ushr_9a.d b/src/arch/dalvik/opdefs/ushr_9a.d
new file mode 100644
index 0000000..d3f48ba
--- /dev/null
+++ b/src/arch/dalvik/opdefs/ushr_9a.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title ushr-int
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/ushr_a5.d b/src/arch/dalvik/opdefs/ushr_a5.d
new file mode 100644
index 0000000..11578c3
--- /dev/null
+++ b/src/arch/dalvik/opdefs/ushr_a5.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title ushr-long
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/ushr_ba.d b/src/arch/dalvik/opdefs/ushr_ba.d
new file mode 100644
index 0000000..d9c0ab7
--- /dev/null
+++ b/src/arch/dalvik/opdefs/ushr_ba.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title ushr-int/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/ushr_c5.d b/src/arch/dalvik/opdefs/ushr_c5.d
new file mode 100644
index 0000000..b0117a7
--- /dev/null
+++ b/src/arch/dalvik/opdefs/ushr_c5.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title ushr-long/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/ushr_e2.d b/src/arch/dalvik/opdefs/ushr_e2.d
new file mode 100644
index 0000000..5ade4f7
--- /dev/null
+++ b/src/arch/dalvik/opdefs/ushr_e2.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title ushr-int/lit8
+
+@encoding() {
+
+    @format 22b
+
+}
diff --git a/src/arch/dalvik/opdefs/xor_97.d b/src/arch/dalvik/opdefs/xor_97.d
new file mode 100644
index 0000000..3bdfc05
--- /dev/null
+++ b/src/arch/dalvik/opdefs/xor_97.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title xor-int
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/xor_a2.d b/src/arch/dalvik/opdefs/xor_a2.d
new file mode 100644
index 0000000..d651f66
--- /dev/null
+++ b/src/arch/dalvik/opdefs/xor_a2.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title xor-long
+
+@encoding() {
+
+    @format 23x
+
+}
diff --git a/src/arch/dalvik/opdefs/xor_b7.d b/src/arch/dalvik/opdefs/xor_b7.d
new file mode 100644
index 0000000..b42da76
--- /dev/null
+++ b/src/arch/dalvik/opdefs/xor_b7.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title xor-int/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/xor_c2.d b/src/arch/dalvik/opdefs/xor_c2.d
new file mode 100644
index 0000000..3fd2660
--- /dev/null
+++ b/src/arch/dalvik/opdefs/xor_c2.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title xor-long/2addr
+
+@encoding() {
+
+    @format 12x
+
+}
diff --git a/src/arch/dalvik/opdefs/xor_d7.d b/src/arch/dalvik/opdefs/xor_d7.d
new file mode 100644
index 0000000..2351a21
--- /dev/null
+++ b/src/arch/dalvik/opdefs/xor_d7.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title xor-int/lit16
+
+@encoding() {
+
+    @format 22s
+
+}
diff --git a/src/arch/dalvik/opdefs/xor_df.d b/src/arch/dalvik/opdefs/xor_df.d
new file mode 100644
index 0000000..04443f7
--- /dev/null
+++ b/src/arch/dalvik/opdefs/xor_df.d
@@ -0,0 +1,30 @@
+
+/* Chrysalide - Outil d'analyse de fichiers binaires
+ * ##FILE## - traduction d'instructions Dalvik
+ *
+ * Copyright (C) 2015 Cyrille Bagard
+ *
+ *  This file is part of Chrysalide.
+ *
+ *  Chrysalide is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  Chrysalide is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+@title xor-int/lit8
+
+@encoding() {
+
+    @format 22b
+
+}
diff --git a/src/arch/dalvik/processor.c b/src/arch/dalvik/processor.c
index fdfb38d..9fe7253 100644
--- a/src/arch/dalvik/processor.c
+++ b/src/arch/dalvik/processor.c
@@ -24,12 +24,16 @@
 #include "processor.h"
 
 
+#include <assert.h>
+
+
 #include "context.h"
 #include "instruction.h"
 #include "opcodes/opcodes.h"
 #include "pseudo/fill.h"
 #include "pseudo/switch.h"
 #include "../processor-int.h"
+#include "../../format/dex/dex.h"
 
 
 
@@ -67,11 +71,12 @@ static GDalvikContext *g_dalvik_processor_get_context(const GDalvikProcessor *);
 /* Fournit un contexte pour la décompilation Dalvik. */
 static GDalvikDContext *g_dalvik_processor_get_decomp_context(const GDalvikProcessor *);
 
+/* Décode une instruction dans un flux de données. */
+static GArchInstruction *g_dalvik_processor_disassemble(const GArchProcessor *, GDalvikContext *, const GBinContent *, vmpa2t *, GExeFormat *);
+
 /* Décode une pseudo-instruction dans un flux de données. */
-static GArchInstruction *g_dalvik_guess_pseudo_instruction(const GDalvikProcessor *, const bin_t *, off_t *, off_t, vmpa_t);
+static GArchInstruction *g_dalvik_processor_disassemble_pseudo(const GArchProcessor *, GDalvikContext *, const GBinContent *, vmpa2t *, uint8_t);
 
-/* Décode une instruction dans un flux de données. */
-static GArchInstruction *g_dalvik_processor_decode_instruction(const GDalvikProcessor *, GDalvikContext *, const bin_t *, off_t *, off_t, vmpa_t, GDexFormat *);
 
 
 /* Indique le type défini par la GLib pour le processeur DALVIK. */
@@ -103,7 +108,7 @@ static void g_dalvik_processor_class_init(GDalvikProcessorClass *klass)
 
     proc = G_ARCH_PROCESSOR_CLASS(klass);
 
-    proc->decode = (decode_instruction_fc)g_dalvik_processor_decode_instruction;
+    proc->disassemble = (disass_instr_fc)g_dalvik_processor_disassemble;
 
 }
 
@@ -237,90 +242,37 @@ static GDalvikDContext *g_dalvik_processor_get_decomp_context(const GDalvikProce
 
 /******************************************************************************
 *                                                                             *
-*  Paramètres  : proc = architecture visée par la procédure.                  *
-*                data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
+*  Paramètres  : proc    = architecture visée par la procédure.               *
+*                ctx     = contexte lié à l'exécution du processeur.          *
+*                content = flux de données à analyser.                        *
+*                pos     = position courante dans ce flux. [OUT]              *
+*                format  = format du fichier contenant le code.               *
 *                                                                             *
-*  Description : Décode une pseudo-instruction dans un flux de données.       *
+*  Description : Désassemble une instruction dans un flux de données.         *
 *                                                                             *
-*  Retour      : Instruction mise en place ou NULL si aucune trouvée.         *
+*  Retour      : Instruction mise en place ou NULL en cas d'échec.            *
 *                                                                             *
 *  Remarques   : -                                                            *
 *                                                                             *
 ******************************************************************************/
 
-static GArchInstruction *g_dalvik_guess_pseudo_instruction(const GDalvikProcessor *proc, const bin_t *data, off_t *pos, off_t end, vmpa_t addr)
-{
-    GArchInstruction *result;               /* Instruction à renvoyer      */
-    off_t tmp;                              /* Position modifiable         */
-    uint16_t ident;                         /* Valeur lue dans le code     */
-
-    /* Vérification astucieuse et rapide...*/
-    if (data[*pos] != 0x00 /* DOP_NOP */) return NULL; 
-
-    tmp = *pos;
-
-    if (!read_u16(&ident, data, &tmp, end, SRE_LITTLE))
-        return NULL;
-
-    switch (ident)
-    {
-        case DPO_PACKED_SWITCH:
-        case DPO_SPARSE_SWITCH:
-            result = g_dalvik_switch_instr_new(data, pos, end, addr, proc);
-            break;
-
-        case DPO_FILL_ARRAY_DATA:
-            result = g_dalvik_fill_instr_new(data, pos, end, addr, proc);
-            break;
-
-        default:
-            result = NULL;
-            break;
-
-    }
-
-    return result;
-
-}
-
-
-/******************************************************************************
-*                                                                             *
-*  Paramètres  : proc   = architecture visée par la procédure.                *
-*                ctx    = contexte lié à l'exécution du processeur.           *
-*                data   = flux de données à analyser.                         *
-*                pos    = position courante dans ce flux. [OUT]               *
-*                end    = limite des données à analyser.                      *
-*                addr   = adresse virtuelle de l'instruction.                 *
-*                format = format du fichier contenant le code.                *
-*                                                                             *
-*  Description : Décode une instruction dans un flux de données.              *
-*                                                                             *
-*  Retour      : Instruction mise en place.                                   *
-*                                                                             *
-*  Remarques   : -                                                            *
-*                                                                             *
-******************************************************************************/
-
-static GArchInstruction *g_dalvik_processor_decode_instruction(const GDalvikProcessor *proc, GDalvikContext *ctx, const bin_t *data, off_t *pos, off_t end, vmpa_t addr, GDexFormat *format)
+static GArchInstruction *g_dalvik_processor_disassemble(const GArchProcessor *proc, GDalvikContext *ctx, const GBinContent *content, vmpa2t *pos, GExeFormat *format)
 {
     GArchInstruction *result;               /* Instruction à renvoyer      */
+    uint8_t raw8;                           /* Donnée de 8 bits à analyser */
     DalvikOpcodes id;                       /* Identifiant d'instruction   */
 
-    static const dalvik_read_instr decodings[DOP_COUNT] = {
+    static const disass_instr_fc decodings[DOP_COUNT] = {
 
         [DOP_NOP]                   = dalvik_read_instr_nop,
         [DOP_MOVE]                  = dalvik_read_instr_move,
-        [DOP_MOVE_FROM_16]          = dalvik_read_instr_move_from_16,
+        [DOP_MOVE_FROM_16]          = dalvik_read_instr_move_from16,
         [DOP_MOVE_16]               = dalvik_read_instr_move_16,
         [DOP_MOVE_WIDE]             = dalvik_read_instr_move_wide,
-        [DOP_MOVE_WIDE_FROM_16]     = dalvik_read_instr_move_wide_from_16,
+        [DOP_MOVE_WIDE_FROM_16]     = dalvik_read_instr_move_wide_from16,
         [DOP_MOVE_WIDE_16]          = dalvik_read_instr_move_wide_16,
         [DOP_MOVE_OBJECT]           = dalvik_read_instr_move_object,
-        [DOP_MOVE_OBJECT_FROM_16]   = dalvik_read_instr_move_object_from_16,
+        [DOP_MOVE_OBJECT_FROM_16]   = dalvik_read_instr_move_object_from16,
         [DOP_MOVE_OBJECT_16]        = dalvik_read_instr_move_object_16,
         [DOP_MOVE_RESULT]           = dalvik_read_instr_move_result,
         [DOP_MOVE_RESULT_WIDE]      = dalvik_read_instr_move_result_wide,
@@ -432,21 +384,21 @@ static GArchInstruction *g_dalvik_processor_decode_instruction(const GDalvikProc
         [DOP_NOT_LONG]              = dalvik_read_instr_not_long,
         [DOP_NEG_FLOAT]             = dalvik_read_instr_neg_float,
         [DOP_NEG_DOUBLE]            = dalvik_read_instr_neg_double,
-        [DOP_TO_INT_LONG]           = dalvik_read_instr_to_int_long,
-        [DOP_TO_INT_FLOAT]          = dalvik_read_instr_to_int_float,
-        [DOP_TO_INT_DOUBLE]         = dalvik_read_instr_to_int_double,
-        [DOP_TO_LONG_INT]           = dalvik_read_instr_to_long_int,
-        [DOP_TO_LONG_FLOAT]         = dalvik_read_instr_to_long_float,
-        [DOP_TO_LONG_DOUBLE]        = dalvik_read_instr_to_long_double,
-        [DOP_TO_FLOAT_INT]          = dalvik_read_instr_to_float_int,
-        [DOP_TO_FLOAT_LONG]         = dalvik_read_instr_to_float_long,
-        [DOP_TO_FLOAT_DOUBLE]       = dalvik_read_instr_to_float_double,
-        [DOP_TO_DOUBLE_INT]         = dalvik_read_instr_to_double_int,
-        [DOP_TO_DOUBLE_LONG]        = dalvik_read_instr_to_double_long,
-        [DOP_TO_DOUBLE_FLOAT]       = dalvik_read_instr_to_double_float,
-        [DOP_TO_INT_BYTE]           = dalvik_read_instr_to_int_byte,
-        [DOP_TO_INT_CHAR]           = dalvik_read_instr_to_int_char,
-        [DOP_TO_INT_SHORT]          = dalvik_read_instr_to_int_short,
+        [DOP_TO_INT_LONG]           = dalvik_read_instr_int_to_long,
+        [DOP_TO_INT_FLOAT]          = dalvik_read_instr_int_to_float,
+        [DOP_TO_INT_DOUBLE]         = dalvik_read_instr_int_to_double,
+        [DOP_TO_LONG_INT]           = dalvik_read_instr_long_to_int,
+        [DOP_TO_LONG_FLOAT]         = dalvik_read_instr_long_to_float,
+        [DOP_TO_LONG_DOUBLE]        = dalvik_read_instr_long_to_double,
+        [DOP_TO_FLOAT_INT]          = dalvik_read_instr_float_to_int,
+        [DOP_TO_FLOAT_LONG]         = dalvik_read_instr_float_to_long,
+        [DOP_TO_FLOAT_DOUBLE]       = dalvik_read_instr_float_to_double,
+        [DOP_TO_DOUBLE_INT]         = dalvik_read_instr_double_to_int,
+        [DOP_TO_DOUBLE_LONG]        = dalvik_read_instr_double_to_long,
+        [DOP_TO_DOUBLE_FLOAT]       = dalvik_read_instr_double_to_float,
+        [DOP_TO_INT_BYTE]           = dalvik_read_instr_int_to_byte,
+        [DOP_TO_INT_CHAR]           = dalvik_read_instr_int_to_char,
+        [DOP_TO_INT_SHORT]          = dalvik_read_instr_int_to_short,
         [DOP_ADD_INT]               = dalvik_read_instr_add_int,
         [DOP_SUB_INT]               = dalvik_read_instr_sub_int,
         [DOP_MUL_INT]               = dalvik_read_instr_mul_int,
@@ -533,22 +485,84 @@ static GArchInstruction *g_dalvik_processor_decode_instruction(const GDalvikProc
 
     };
 
+    if (!g_binary_content_read_u8(content, pos, &raw8))
+        return NULL;
+
     /* Pseudo-instruction... */
-    result = g_dalvik_guess_pseudo_instruction(proc, data, pos, end, addr);
+    result = g_dalvik_processor_disassemble_pseudo(proc, ctx, content, pos, raw8);
 
     /* ... ou instruction classique */
     if (result == NULL)
     {
-        id = dalvik_guess_next_instruction(data, *pos, end);
+        assert(raw8 < DOP_COUNT);
+
+        id = (DalvikOpcodes)raw8;
+
+        if (decodings[id] != NULL)
+            result = decodings[id](proc, G_PROC_CONTEXT(ctx), content, pos, format);
+
+    }
+
+    return result;
+
+}
+
+
+/******************************************************************************
+*                                                                             *
+*  Paramètres  : proc = architecture visée par la procédure.                  *
+*                data = flux de données à analyser.                           *
+*                pos  = position courante dans ce flux. [OUT]                 *
+*                end  = limite des données à analyser.                        *
+*                addr = adresse virtuelle de l'instruction.                   *
+*                low8 = 8 bits de poids faible déjà lus.                      *
+*                                                                             *
+*  Description : Décode une pseudo-instruction dans un flux de données.       *
+*                                                                             *
+*  Retour      : Instruction mise en place ou NULL si aucune trouvée.         *
+*                                                                             *
+*  Remarques   : -                                                            *
+*                                                                             *
+******************************************************************************/
+
+static GArchInstruction *g_dalvik_processor_disassemble_pseudo(const GArchProcessor *proc, GDalvikContext *ctx, const GBinContent *content, vmpa2t *pos, uint8_t low8)
+{
+    GArchInstruction *result;               /* Instruction à renvoyer      */
+    vmpa2t tmp;                             /* Position modifiable         */
+    uint8_t high8;                          /* Nouvelle octet à venir lire */
+    uint16_t ident;                         /* Valeur lue dans le code     */
+
+    /* Vérification astucieuse et rapide...*/
+    if (low8 != 0x00 /* DOP_NOP */)
+        return NULL;
+
+    copy_vmpa(&tmp, pos);
+
+    if (!g_binary_content_read_u8(content, pos, &high8))
+        return NULL;
+
+    ident = high8 << 8 | low8;
+
+    switch (ident)
+    {
+        case DPO_PACKED_SWITCH:
+        case DPO_SPARSE_SWITCH:
+            result = g_dalvik_switch_instr_new(ident, content, pos);
+            break;
+
+        case DPO_FILL_ARRAY_DATA:
+            result = g_dalvik_fill_instr_new(ident, content, pos);
+            break;
 
-        if (id != DOP_COUNT)
-        {
-            (*pos)++;
-            result = decodings[id](data, pos, end, addr, proc, format);
-        }
+        default:
+            result = NULL;
+            break;
 
     }
 
+    if (result != NULL)
+        copy_vmpa(pos, &tmp);
+
     return result;
 
 }
diff --git a/src/arch/dalvik/pseudo/fill.c b/src/arch/dalvik/pseudo/fill.c
index acb8551..2656dab 100644
--- a/src/arch/dalvik/pseudo/fill.c
+++ b/src/arch/dalvik/pseudo/fill.c
@@ -24,6 +24,7 @@
 #include "fill.h"
 
 
+#include <assert.h>
 #include <string.h> 
 
 
@@ -95,7 +96,7 @@ static void g_dalvik_fill_instr_class_init(GDalvikFillInstrClass *klass)
 
     instr = G_ARCH_INSTRUCTION_CLASS(klass);
 
-    instr->print = (print_instruction_fc)g_dalvik_fill_instr_print;
+    //instr->print = (print_instruction_fc)g_dalvik_fill_instr_print;
 
 }
 
@@ -114,6 +115,7 @@ static void g_dalvik_fill_instr_class_init(GDalvikFillInstrClass *klass)
 
 static void g_dalvik_fill_instr_init(GDalvikFillInstr *instr)
 {
+    G_DALVIK_INSTRUCTION(instr)->keyword = "##fill-array##";
 
 }
 
@@ -158,11 +160,9 @@ static void g_dalvik_fill_instr_finalize(GDalvikFillInstr *instr)
 
 /******************************************************************************
 *                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                end  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
+*  Paramètres  : ident   = identifiant de l'instruction déjà lu.              *
+*                content = flux de données à analyser.                        *
+*                pos     = position courante dans ce flux. [OUT]              *
 *                                                                             *
 *  Description : Crée une pesudo-instruction Dalvik de remplissage.           *
 *                                                                             *
@@ -172,24 +172,26 @@ static void g_dalvik_fill_instr_finalize(GDalvikFillInstr *instr)
 *                                                                             *
 ******************************************************************************/
 
-GArchInstruction *g_dalvik_fill_instr_new(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc)
+GArchInstruction *g_dalvik_fill_instr_new(uint16_t ident, const GBinContent *content, vmpa2t *pos)
 {
     GDalvikFillInstr *result;               /* Structure à retourner       */
-    uint16_t ident;                         /* Valeur lue dans le code     */
+    phys_t consumed;                        /* Données consommées          */
 
-    result = g_object_new(G_TYPE_DALVIK_FILL_INSTR, NULL);
+    assert(ident == DPO_FILL_ARRAY_DATA);
 
-    if (!read_u16(&ident, data, pos, end, SRE_LITTLE))
-        goto gdfin_bad;
+    result = g_object_new(G_TYPE_DALVIK_FILL_INSTR, NULL);
 
-    G_DALVIK_INSTRUCTION(result)->ptype = DPO_FILL_ARRAY_DATA;
+    G_DALVIK_INSTRUCTION(result)->ptype = ident;
 
-    if (!read_u16(&result->array_width, data, pos, end, SRE_LITTLE))
+    if (!g_binary_content_read_u16(content, pos, SRE_LITTLE, &result->array_width))
         goto gdfin_bad;
-    if (!read_u32(&result->array_size, data, pos, end, SRE_LITTLE))
+
+    if (!g_binary_content_read_u32(content, pos, SRE_LITTLE, &result->array_size))
         goto gdfin_bad;
 
-    *pos += result->array_width * result->array_size;
+    consumed = result->array_width * result->array_size;
+
+    advance_vmpa(pos, consumed);
 
     return G_ARCH_INSTRUCTION(result);
 
diff --git a/src/arch/dalvik/pseudo/fill.h b/src/arch/dalvik/pseudo/fill.h
index 041cdaa..aeb04b8 100644
--- a/src/arch/dalvik/pseudo/fill.h
+++ b/src/arch/dalvik/pseudo/fill.h
@@ -50,7 +50,7 @@ typedef struct _GDalvikFillInstrClass GDalvikFillInstrClass;
 GType g_dalvik_fill_instr_get_type(void);
 
 /* Crée une pesudo-instruction Dalvik de remplissage. */
-GArchInstruction *g_dalvik_fill_instr_new(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *);
+GArchInstruction *g_dalvik_fill_instr_new(uint16_t, const GBinContent *, vmpa2t *);
 
 
 
diff --git a/src/arch/dalvik/pseudo/switch.c b/src/arch/dalvik/pseudo/switch.c
index 169c5bf..1b41ba4 100644
--- a/src/arch/dalvik/pseudo/switch.c
+++ b/src/arch/dalvik/pseudo/switch.c
@@ -24,6 +24,7 @@
 #include "switch.h"
 
 
+#include <assert.h>
 #include <string.h> 
 
 
@@ -94,7 +95,7 @@ static void g_dalvik_switch_instr_class_init(GDalvikSwitchInstrClass *klass)
 
     instr = G_ARCH_INSTRUCTION_CLASS(klass);
 
-    instr->print = (print_instruction_fc)g_dalvik_switch_instr_print;
+    //instr->print = (print_instruction_fc)g_dalvik_switch_instr_print;
 
 }
 
@@ -113,6 +114,7 @@ static void g_dalvik_switch_instr_class_init(GDalvikSwitchInstrClass *klass)
 
 static void g_dalvik_switch_instr_init(GDalvikSwitchInstr *instr)
 {
+    G_DALVIK_INSTRUCTION(instr)->keyword = "##switch##";
 
 }
 
@@ -157,11 +159,9 @@ static void g_dalvik_switch_instr_finalize(GDalvikSwitchInstr *instr)
 
 /******************************************************************************
 *                                                                             *
-*  Paramètres  : data = flux de données à analyser.                           *
-*                pos  = position courante dans ce flux. [OUT]                 *
-*                len  = limite des données à analyser.                        *
-*                addr = adresse virtuelle de l'instruction.                   *
-*                proc = architecture ciblée par le désassemblage.             *
+*  Paramètres  : ident   = identifiant de l'instruction déjà lu.              *
+*                content = flux de données à analyser.                        *
+*                pos     = position courante dans ce flux. [OUT]              *
 *                                                                             *
 *  Description : Crée une pesudo-instruction Dalvik de branchement.           *
 *                                                                             *
@@ -171,28 +171,26 @@ static void g_dalvik_switch_instr_finalize(GDalvikSwitchInstr *instr)
 *                                                                             *
 ******************************************************************************/
 
-GArchInstruction *g_dalvik_switch_instr_new(const bin_t *data, off_t *pos, off_t end, vmpa_t addr, const GDalvikProcessor *proc)
+GArchInstruction *g_dalvik_switch_instr_new(uint16_t ident, const GBinContent *content, vmpa2t *pos)
 {
-    GDalvikSwitchInstr *result;               /* Structure à retourner       */
-    uint16_t ident;                         /* Valeur lue dans le code     */
+    GDalvikSwitchInstr *result;             /* Structure à retourner       */
+    phys_t consumed;                        /* Données consommées          */
 
-    result = g_object_new(G_TYPE_DALVIK_SWITCH_INSTR, NULL);
-
-    if (!read_u16(&ident, data, pos, end, SRE_LITTLE))
-        goto gdsin_bad;
+    assert(ident == DPO_PACKED_SWITCH || ident == DPO_SPARSE_SWITCH);
 
-    if (ident != DPO_PACKED_SWITCH && ident != DPO_SPARSE_SWITCH)
-        goto gdsin_bad;
+    result = g_object_new(G_TYPE_DALVIK_SWITCH_INSTR, NULL);
 
     G_DALVIK_INSTRUCTION(result)->ptype = ident;
 
-    if (!read_u16(&result->switch_size, data, pos, end, SRE_LITTLE))
+    if (!g_binary_content_read_u16(content, pos, SRE_LITTLE, &result->switch_size))
         goto gdsin_bad;
 
     if (ident != DPO_PACKED_SWITCH)
-        *pos += (1 + result->switch_size) * sizeof(uint32_t);
+        consumed = (1 + result->switch_size) * sizeof(uint32_t);
     else
-        *pos += (2 * result->switch_size) * sizeof(uint32_t);
+        consumed = (2 * result->switch_size) * sizeof(uint32_t);
+
+    advance_vmpa(pos, consumed);
 
     return G_ARCH_INSTRUCTION(result);
 
@@ -234,6 +232,7 @@ static void g_dalvik_switch_instr_print(const GDalvikSwitchInstr *instr, GCodeBu
 
     line = NULL;
 
+    //line = g_code_buffer_prepare_new_line(buffer, &range);
 
 #if 0
     line = g_code_buffer_append_new_line(buffer, base->address);
diff --git a/src/arch/dalvik/pseudo/switch.h b/src/arch/dalvik/pseudo/switch.h
index cdb4b92..02d61d0 100644
--- a/src/arch/dalvik/pseudo/switch.h
+++ b/src/arch/dalvik/pseudo/switch.h
@@ -50,7 +50,7 @@ typedef struct _GDalvikSwitchInstrClass GDalvikSwitchInstrClass;
 GType g_dalvik_switch_instr_get_type(void);
 
 /* Crée une pesudo-instruction Dalvik de branchement. */
-GArchInstruction *g_dalvik_switch_instr_new(const bin_t *, off_t *, off_t, vmpa_t, const GDalvikProcessor *);
+GArchInstruction *g_dalvik_switch_instr_new(uint16_t, const GBinContent *, vmpa2t *);
 
 
 
diff --git a/src/arch/processor-int.h b/src/arch/processor-int.h
index 19076a2..3d39aee 100644
--- a/src/arch/processor-int.h
+++ b/src/arch/processor-int.h
@@ -58,7 +58,7 @@ typedef GDecContext * (* get_decomp_context_fc) (const GArchProcessor *);
 typedef GArchInstruction * (* decode_instruction_fc) (const GArchProcessor *, GProcContext *, const bin_t *, off_t *, off_t, vmpa_t, GBinFormat *);
 
 /* Désassemble une instruction dans un flux de données. */
-typedef GArchInstruction * (* disass_instr_fc) (const GArchProcessor *, GProcContext *, const GBinContent *, vmpa2t *);
+typedef GArchInstruction * (* disass_instr_fc) (const GArchProcessor *, GProcContext *, const GBinContent *, vmpa2t *, GExeFormat *);
 
 
 
diff --git a/src/arch/processor.c b/src/arch/processor.c
index 91f9821..bbe506a 100644
--- a/src/arch/processor.c
+++ b/src/arch/processor.c
@@ -289,6 +289,7 @@ GArchInstruction *g_arch_processor_decode_instruction(const GArchProcessor *proc
 *                ctx     = contexte lié à l'exécution du processeur.          *
 *                content = flux de données à analyser.                        *
 *                pos     = position courante dans ce flux. [OUT]              *
+*                format  = format du fichier contenant le code.               *
 *                                                                             *
 *  Description : Désassemble une instruction dans un flux de données.         *
 *                                                                             *
@@ -298,14 +299,14 @@ GArchInstruction *g_arch_processor_decode_instruction(const GArchProcessor *proc
 *                                                                             *
 ******************************************************************************/
 
-GArchInstruction *g_arch_processor_disassemble(const GArchProcessor *proc, GProcContext *ctx, const GBinContent *content, vmpa2t *pos)
+GArchInstruction *g_arch_processor_disassemble(const GArchProcessor *proc, GProcContext *ctx, const GBinContent *content, vmpa2t *pos, GExeFormat *format)
 {
     GArchInstruction *result;               /* Instruction à renvoyer      */
     vmpa2t back;                            /* Position sauvegardée        */
 
     copy_vmpa(&back, pos);
 
-    result = G_ARCH_PROCESSOR_GET_CLASS(proc)->disassemble(proc, ctx, content, pos);
+    result = G_ARCH_PROCESSOR_GET_CLASS(proc)->disassemble(proc, ctx, content, pos, format);
 
     if (result == NULL)
         copy_vmpa(pos, &back);
diff --git a/src/arch/processor.h b/src/arch/processor.h
index dd93960..82c4f18 100644
--- a/src/arch/processor.h
+++ b/src/arch/processor.h
@@ -74,7 +74,7 @@ MemoryDataSize g_arch_processor_get_instruction_size(const GArchProcessor *);
 GArchInstruction *g_arch_processor_decode_instruction(const GArchProcessor *, GProcContext *, const bin_t *, off_t *, off_t, vmpa_t, GBinFormat *) __attribute__ ((deprecated));
 
 /* Désassemble une instruction dans un flux de données. */
-GArchInstruction *g_arch_processor_disassemble(const GArchProcessor *, GProcContext *, const GBinContent *, vmpa2t *);
+GArchInstruction *g_arch_processor_disassemble(const GArchProcessor *, GProcContext *, const GBinContent *, vmpa2t *, GExeFormat *);
 
 
 
diff --git a/src/format/dex/method.c b/src/format/dex/method.c
index 9c911d1..b74a713 100644
--- a/src/format/dex/method.c
+++ b/src/format/dex/method.c
@@ -193,7 +193,7 @@ GDexMethod *g_dex_method_new(GDexFormat *format, const encoded_method *seed, ule
     result->info = *seed;
     result->body = item;
 
-    result->offset = seed->code_off + 4 * sizeof(uint16_t) + 2 *sizeof(uint32_t);/* TODO : faire plus propre ! */
+    result->offset = seed->code_off + 4 * sizeof(uint16_t) + 2 * sizeof(uint32_t);/* TODO : faire plus propre ! */
 
     init_vmpa(&addr, result->offset, VMPA_NO_VIRTUAL);
     init_mrange(&range, &addr, item.insns_size * sizeof(uint16_t));
diff --git a/src/glibext/gbufferline.c b/src/glibext/gbufferline.c
index b8838ae..f47442d 100644
--- a/src/glibext/gbufferline.c
+++ b/src/glibext/gbufferline.c
@@ -770,8 +770,12 @@ void g_buffer_line_fill_mrange(GBufferLine *line, MemoryDataSize psize, MemoryDa
 		else
 		{
 			g_buffer_line_insert_text(line, BLC_PHYSICAL, address, 2, RTT_PHYS_ADDR);
-			g_buffer_line_insert_text(line, BLC_PHYSICAL, &address[2], i - 2, RTT_PHYS_ADDR_PAD);
-			g_buffer_line_insert_text(line, BLC_PHYSICAL, &address[i], len - i, RTT_PHYS_ADDR);
+
+            if (i > 2)
+                g_buffer_line_insert_text(line, BLC_PHYSICAL, &address[2], i - 2, RTT_PHYS_ADDR_PAD);
+
+            g_buffer_line_insert_text(line, BLC_PHYSICAL, &address[i], len - i, RTT_PHYS_ADDR);
+
 		}
 
 	}
@@ -791,8 +795,12 @@ void g_buffer_line_fill_mrange(GBufferLine *line, MemoryDataSize psize, MemoryDa
 		else
 		{
 			g_buffer_line_insert_text(line, BLC_VIRTUAL, address, 2, RTT_VIRT_ADDR);
-			g_buffer_line_insert_text(line, BLC_VIRTUAL, &address[2], i - 2, RTT_VIRT_ADDR_PAD);
-			g_buffer_line_insert_text(line, BLC_VIRTUAL, &address[i], len - i, RTT_VIRT_ADDR);
+
+            if (i > 2)
+                g_buffer_line_insert_text(line, BLC_VIRTUAL, &address[2], i - 2, RTT_VIRT_ADDR_PAD);
+
+            g_buffer_line_insert_text(line, BLC_VIRTUAL, &address[i], len - i, RTT_VIRT_ADDR);
+
 		}
 
 	}
diff --git a/tools/d2c/d2c.mk b/tools/d2c/d2c.mk
index 72269b7..0731329 100644
--- a/tools/d2c/d2c.mk
+++ b/tools/d2c/d2c.mk
@@ -32,7 +32,7 @@ SUFFIXES = .g
 d2c_final_rules: fix_includes_in_c_templates fix_includes_in_h_templates untabify_disass
 
 fix_includes_in_c_templates:
-	for f in `find .gen/ -name '*tmpl.c'`; do			\
+	@for f in `find .gen/ -name '*tmpl.c'`; do			\
 		if grep -q '##INCLUDES##' $$f; then				\
 			$(fix_verbose)sed -i 's/##INCLUDES##/$(FIXED_C_INCLUDES)/' $$f;	\
 		fi;												\
-- 
cgit v0.11.2-87-g4458