Commit Graph

52 Commits

Author SHA1 Message Date
Nguyen Anh Quynh 0b690387b3 x86: update core with upstream. this added bunch of new instructions & groups. also updated Python & Java bindings after the core change 2014-08-13 13:01:50 +08:00
Nguyen Anh Quynh 9f6ed7155a x86: add @rex to cs_x86 struct. updated python & java binding for this change 2014-07-01 10:13:28 +08:00
Nguyen Anh Quynh 32e2c6c9c7 x86: address-size prefix should override RIP relative address in x64 mode. bug reported by @hlide 2014-06-30 07:58:33 +08:00
Nguyen Anh Quynh 1a66fecdbc x86: support avx_sae & avx_rm in cs_x86 struct. this also updates Python & Java bindings following the core's change 2014-06-26 12:09:15 +08:00
Nguyen Anh Quynh f1ec52628e x86: provide size for X86_OP_IMM operand. thank Gabriel Quadros for some suggestions 2014-06-25 22:03:18 +08:00
Nguyen Anh Quynh 4c5eabc32b x86: support SSE_CC & AVX_CC in cs_x86 struct. this also updates Python & Java bindings 2014-06-24 23:50:41 +08:00
Nguyen Anh Quynh bb6440c5ef x86: extend cs_x86.opcode to 4 bytes to contain EVEX opcode. this also updates Python binding following this interface change 2014-06-24 21:46:54 +08:00
Nguyen Anh Quynh 14ba46bfab x86: add segment to x86_op_mem struct. this fixes a bug in generating detail for instructions with segment override. bug reported by Sean Heelan. 2014-06-24 14:32:01 +08:00
Nguyen Anh Quynh 1085073f8f x86: remove disp_size, imm_size, op_size. add size to each operand. thanks Gabriel Quadros for some nice ideas 2014-06-18 12:16:24 +08:00
Nguyen Anh Quynh cae09bf543 replace offset_of with offsetof from stddef.h 2014-06-17 14:58:39 +08:00
Nguyen Anh Quynh 9cf88119fb x86: InternalInstruction@xAcquireRelease should be initialized to 0 (FALSE) 2014-06-16 18:32:34 +08:00
Nguyen Anh Quynh 69582d71ae initialize cs_insn.detail by properly zero-out right members for each arch 2014-06-09 17:50:01 +07:00
Nguyen Anh Quynh 5329a6ffd4 directly update cs_insn from MCInst interface to avoid multiple memcpy() 2014-06-08 23:35:52 +07:00
Nguyen Anh Quynh 22a5a761d8 x86: simplify byteReader_t 2014-06-07 23:41:20 +08:00
Nguyen Anh Quynh 5474d877b0 x86: optimize struct InternalInstruction for memset(). this improve performance by around 4% 2014-06-07 12:56:44 +08:00
Nguyen Anh Quynh cf0813809a x86: more simplification on managing MCOperand. this also fixes a bug in handling memory reference instructions 2014-06-06 00:56:46 +08:00
Nguyen Anh Quynh e70a043a04 x86: more simplification for better performance 2014-06-05 10:52:43 +08:00
Nguyen Anh Quynh 937e48314c x86: avoid malloc/free MCOperand with new API of MCInst: MCInst_addOperand0, MCInst_CreateReg0, MCInst_CreateImm0 2014-06-04 22:51:51 +07:00
Nguyen Anh Quynh 46b6693d36 x86: save prefixes to avoid expensive copying loop. based on idea of Dang Hoang Vu 2014-06-04 19:04:46 +08:00
Nguyen Anh Quynh 4ebd062ee3 x86: cleanup unused code 2014-05-22 12:11:35 +08:00
Nguyen Anh Quynh 8598a219f3 enable arch code from source with CAPSTONE_HAS_* for MSVC to pick up 2014-05-14 11:26:41 +08:00
Nguyen Anh Quynh 42706a39e2 indentation with tab 2014-05-09 07:33:35 +08:00
Axel 0vercl0k Souchet 779d4c75d9 first changes to get a successfully compiled version of capstone on VS2012 2014-05-08 23:44:49 +01:00
Nguyen Anh Quynh e68ee701c4 x86: simplify code handling LOCK/REP by remembering this prefix status when decoding it 2014-05-07 13:57:09 +08:00
Nguyen Anh Quynh 9bcca47a98 x86: avoid duplicating code when handling prefixes in X86_getInstruction() 2014-05-07 11:45:02 +08:00
Nguyen Anh Quynh 45c77aeadd x86: handle tricky instructions related to MULPD at http://habrahabr.ru/company/intel/blog/200658/ 2014-05-07 11:39:41 +08:00
Nguyen Anh Quynh a5ffdc3a80 x86: properly handle LOCK/REP in the core, so remove buch of hacks 2014-05-07 08:25:24 +08:00
Nguyen Anh Quynh ca057fa8f6 x86: identation 2014-04-30 14:26:10 +08:00
Nguyen Anh Quynh 2cff6f61fc x86: handle instructions with LOCK/REP/REPNE prefix after other prefixes. bear with this until we have a better approach 2014-04-28 11:19:44 +08:00
Nguyen Anh Quynh 0902bf2a25 x86: handle MOV32cr, MOV32dr, MOV32rc, MOV32rd 2014-04-24 22:46:25 +08:00
Nguyen Anh Quynh 2a9c0e0396 x86: fix a bug when sign-extend immediate for Ev. backport from upstream LLVM 2014-04-23 16:19:15 +08:00
Nguyen Anh Quynh e51cf36636 x86: do not print negative immediate. request of Le Dinh Long 2014-03-27 12:36:46 +08:00
Nguyen Anh Quynh 59b5489d8e x86: rename X86_COMPACT to X86_REDUCE. suggested by Pancake 2014-03-27 10:54:44 +08:00
Nguyen Anh Quynh 9518148e6f add X86_COMPACT option. also add CS_SUPPORT_X86_COMPACT. made Python support this change 2014-03-25 23:20:41 +08:00
Nguyen Anh Quynh a86a1279ff Merge branch 'msvc0' into next1 2014-02-17 23:11:58 +08:00
Nguyen Anh Quynh 13f40d26a2 x86: upgrade core 2014-02-07 22:06:33 +08:00
Nguyen Anh Quynh a82a0890a6 more more fixes on C coding style 2014-01-23 23:42:40 +08:00
Alex Ionescu 46018db884 Initial set of changes to support building with MSVC 2013. Right now there's a bunch fo assumptions in the .vcxproj file and some things are not as clean as they should be, but it does build a full build and works (at least the x86 side). The point of this initial checkpoint is to make sure that nothing breaks on the GCC side, that everyone is ok with the changes to the source (or if better fixes/typing can be done). 2014-01-22 09:45:00 -08:00
Nguyen Anh Quynh 3732725342 rename mapping.c, mapping.h, module.c to have arch prefix. suggested by Alex Ionescu 2014-01-20 09:52:05 +08:00
Nguyen Anh Quynh f328f30fd9 rename mapping.c, mapping.h, module.c to have arch prefix. suggested by Alex Ionescu 2014-01-20 09:47:21 +08:00
Nguyen Anh Quynh 4fe224b1ed change API cs_disasm_dyn(): break cs_insn into 2 structures, and put all details into new structure cs_detail. this break API compatibility 2013-12-24 16:49:36 +08:00
Nguyen Anh Quynh a209e67f8a support to turn on/off building instruction details 2013-12-14 00:23:41 +08:00
Nguyen Anh Quynh be90639c00 x86: properly translate immediate numbers based on their encoding. INT is the exception 2013-12-13 15:37:57 +08:00
Nguyen Anh Quynh 04da0090a7 x86: quick hack to fix 16bit issue with data override 'reverse'. this might fix bunch of bugs reported by Joxean & Pancake 2013-12-13 01:11:48 +08:00
pancake f0e4eed89d Use const on all read-only buffers 2013-12-11 22:14:42 +01:00
Nguyen Anh Quynh 641b78375f x86: fix relative call. bug reported by Joxean Koret 2013-12-04 16:56:40 +08:00
Nguyen Anh Quynh 6d552e5540 x86: fix bug in relative jump. reported by Joxean 2013-12-03 18:23:53 +08:00
pancake c04f873791 Use uint64_t instead of size_t for addresses 2013-12-03 02:51:46 +01:00
Nguyen Anh Quynh 8fcec67893 x86: do not sign-extend immediate. this fixes the issues reported by LongLD 2013-12-02 22:03:30 +08:00
Nguyen Anh Quynh 36d143b6d0 x86: update core engine 2013-12-01 00:05:22 +08:00