Nguyen Anh Quynh
4f0d7048cd
arm64: vector_index = 0 is valid. this changed invalid value of vector_index to -1
2014-08-29 15:11:23 +08:00
Nguyen Anh Quynh
0beb0d494b
api: get back the old API cs_disasm() & mark cs_disasm_ex() deprecated. cs_disasm_ex() will be removed in the future
2014-08-27 22:55:29 +08:00
Nguyen Anh Quynh
934e180e54
x86: more update to the core
2014-08-27 21:59:25 +08:00
Nguyen Anh Quynh
a7792ae488
systemz: update core. also update Python & Java bindings
2014-08-26 12:14:25 +08:00
Nguyen Anh Quynh
c286b346c6
Merge branch 'arm64' into v3
2014-08-25 17:01:53 +08:00
Nguyen Anh Quynh
0efef5dd48
solve some conflicts when merging -next into -v3
2014-08-25 17:01:45 +08:00
Nguyen Anh Quynh
46a74e53b7
arm64: update core. this added a lot more details to cs_arm64_op struct
2014-08-25 16:47:12 +08:00
Nguyen Anh Quynh
78c4876390
Merge branch 'cs_insn_const' of https://github.com/obs1dium/capstone into next
2014-08-21 08:44:28 +08:00
obs
876b6b6a33
use const when passing cs_insn pointers
2014-08-21 00:57:04 +02:00
Nguyen Anh Quynh
663829431e
x86: return proper error if cs_option() enables AT&T syntax but AT&T support is opt-out at compile time
2014-08-20 14:02:14 +08:00
Nguyen Anh Quynh
a726402513
sparc: update core. this added/removed some instructions & groups. updated Python & Java bindings accordingly
2014-08-15 18:29:17 +08:00
Nguyen Anh Quynh
91a64776a8
ppc: fix a mistake on interpreting CR registers by deleting CR8 -> CR31
2014-08-15 13:48:11 +08:00
Nguyen Anh Quynh
dd3deec1e9
ppc: update core. this added new instructions, groups & registers. updated Python & Java bindings accordingly
2014-08-15 13:26:12 +08:00
Nguyen Anh Quynh
0f0eb9851a
mips: update core. this added bunch of new instructions & groups. updated Python & Java bindings accordingly
2014-08-14 18:26:39 +08:00
Nguyen Anh Quynh
7c089fd6c6
arm: add new mode CS_MODE_MCLASS for Cortex-M series. updated Python & Java bindings accordingly
2014-08-13 23:08:40 +08:00
Nguyen Anh Quynh
b52f11f636
arm: update core. this added a new instruction UDF. also updated Python+Java bindings accordingly
2014-08-13 22:38:15 +08:00
Nguyen Anh Quynh
fd0f798343
bump API & package version to 3.0
2014-08-13 14:15:27 +08:00
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
027afdc179
Change the prototype of the callback in SKIPDATA option. Suggested by Ben Nagy.
...
Original prototype:
typedef size_t (*cs_skipdata_cb_t)(const uint8_t *code, uint64_t offset, void* user_data);
Now we add @code_size argument to reflect the size of the input buffer @code.
Also, we change the data type of @offset to size_t because this argument indicates the
distance from currently examining bytes to @code, but not the address of the byte.
typedef size_t (*cs_skipdata_cb_t)(const uint8_t *code, size_t code_size, size_t offset, void* user_data);
2014-07-10 15:46:10 +08:00
Nguyen Anh Quynh
0df7e93a3c
Change the prototype of the callback in SKIPDATA option. Suggested by Ben Nagy.
...
Original prototype:
typedef size_t (*cs_skipdata_cb_t)(const uint8_t *code, uint64_t offset, void* user_data);
Now we add @code_size argument to reflect the size of the input buffer @code.
Also, we change the data type of @offset to size_t because this argument indicates the
distance from currently examining bytes to @code, but not the address of the byte.
typedef size_t (*cs_skipdata_cb_t)(const uint8_t *code, size_t code_size, size_t offset, void* user_data);
2014-07-10 15:42:16 +08:00
Nguyen Anh Quynh
994f336b35
ppc: rename PC_BH_NO to PC_BH_INVALID for consistency
2014-07-10 11:46:11 +08:00
Nguyen Anh Quynh
dfc94e1a00
ppc: add PPC_BC_INVALID
2014-07-10 08:01:02 +08:00
Nguyen Anh Quynh
650f96ce43
add new API cs_group_name() to return group name in string, given the group id
2014-07-08 08:59:27 +08:00
Nguyen Anh Quynh
e105594d7b
x86: update comments for prefix[] & opcode[] fields of cs_x86
2014-07-04 11:04:46 +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
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
12e6e31389
x86: rename zero_opmask of cs_x86_op to avx_zero_opmask
2014-06-26 11:27:24 +08:00
Nguyen Anh Quynh
2b338ce65a
x86: update some comments on x86.h
2014-06-26 10:58:17 +08:00
Nguyen Anh Quynh
92a3d4c079
x86: add AVX's zero_opmask to cs_x86_op struct. updated Python & Java bindings for this change
2014-06-25 23:10:39 +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
0d716450fc
x86: add avx_bcast to cs_x86_op to support AVX512 instructions. this also updates Python & Java binding
2014-06-24 22:51:56 +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
d29aa6235a
x86: correct comments on x86_op_mem.scale
2014-06-24 14:52:16 +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
fb15221666
x86: cs_x86.prefix[] should have size 4, not 5
2014-06-20 13:46:19 +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
73bbbb3800
arm: add ASRS, LSRS, VCLE, VCLT instructions. update Python & Java bindings at the same time
2014-06-17 13:29:54 +08:00
schwoop
3a7c136558
Fixed SPARC compilation
2014-06-10 13:24:53 +02:00
schwoop
8a26bd36d5
Fix for GCC MIPS toolchain
2014-06-06 17:28:43 +02:00
Nguyen Anh Quynh
4aacbea1b6
Merge branch 'next' into cmake2
2014-06-04 21:42:22 +07:00
Nguyen Anh Quynh
a19d3f0b60
Merge branch 'feature/x86-groups' of https://github.com/parasyte/capstone into test
2014-06-04 13:35:12 +07:00
Ali Rizvi-Santiago
10053ba626
Modified CMakeLists.txt to re-enable support for building both static and shared versions of the library.
...
Removed definition of CAPSTONE_STATIC from capstone.h due to dllimport only really being a performance optimization while CAPSTONE_SHARED is only needed when building the shared version of the library.
2014-06-03 21:07:03 +00:00
Nguyen Anh Quynh
1969b83b9b
windows: expose public APIs with dllimport for user apps
2014-06-03 23:10:07 +08:00
Nguyen Anh Quynh
0ea020ec8f
cmake: do not define dllimport
2014-06-03 21:48:53 +08:00
Nguyen Anh Quynh
07c3693cf2
cmake: properly export public APIs in capstone.DLL. thanks to Daniel Pistelli for helping to fix this issue
2014-06-03 18:33:15 +08:00
Nguyen Anh Quynh
4c0ed0b864
correct capstone.h on the old already-renamed op_info[] arrays
2014-06-03 15:06:20 +07:00
Jay Oster
6f74ccc97a
Add new x86 instruction groups
...
- VM: Virtual Machine
- INT: Interrupts
- IRET: Interupt returns
- CALL: Subroutine call
- RET: Subroutine return
Includes a special case for writes to port 0xb2, which triggers an SMI
2014-06-02 22:21:41 -07:00
Nguyen Anh Quynh
be2b788dc1
xcore: handle details for some special tricky instructions
2014-05-27 23:34:03 +08:00
Nguyen Anh Quynh
c80d840ffc
add XCore architecture
2014-05-26 23:02:48 +08:00
Nguyen Anh Quynh
5d6383e335
sparc: SPARC_CC_ICC_N should not have the same value as SPARC_CC_INVALID. bug reported by Jason Oster
2014-05-25 13:48:06 +08:00
Jason Oster
aa60b8cd1b
[ #124 ] ARM: Make imm
detail field signed.
2014-05-23 21:55:04 -07:00
Nguyen Anh Quynh
96934501fd
arm64: do not consider WZR & XZR alias registers
2014-05-18 00:07:24 +08:00
Nguyen Anh Quynh
cb5910627a
remove some more forgotten stdbool.h
2014-05-15 21:51:02 +08:00
Nguyen Anh Quynh
171eb7523d
stdbool.h is only available in C99-supported compiler
2014-05-15 21:01:08 +08:00
Nguyen Anh Quynh
e76abf47e1
move prototype of strcasecmp for MSVC into utils.h, and remove platform.h
2014-05-15 15:02:52 +08:00
Nguyen Anh Quynh
e079f10a80
remove more redundant code in platform.h
2014-05-15 14:34:16 +08:00
Nguyen Anh Quynh
8d8cd79591
remove redundant code in platform.h
2014-05-15 14:26:31 +08:00
Nguyen Anh Quynh
1d2e69b869
msvc: remove headers/ directory & replace it with include/platform.h
2014-05-15 13:56:54 +08:00
Nguyen Anh Quynh
3878ff0641
skipdata: change data type of callback's offset to uint64_t
2014-05-12 15:15:04 +08:00
Nguyen Anh Quynh
7751fbe57b
header files: Disassembler -> Disassembly
2014-04-28 11:23:14 +08:00
Nguyen Anh Quynh
fa697076b1
x86: handle more tricky instructions.
...
- support undocumented instructions FSTP & FSTPNCE. see http://blogs.technet.com/b/mmpc/archive/2013/06/24/investigation-of-a-new-undocumented-instruction-trick.aspx
- TEST instructions with opcode 0xF6, 0xF7 (MRM1r)
2014-04-23 12:41:16 +08:00
Nguyen Anh Quynh
6f56ff5663
x86: handle SAL instructions. bug reported by Attila Suszter & Ange Albertini
2014-04-16 17:29:34 +08:00
Nguyen Anh Quynh
1efa9c11a0
SKIPDATA: add info about the first argument of callback function
2014-04-14 21:48:59 +08:00
Nguyen Anh Quynh
42288ac4e3
SKIPDATA: add 1 more argument to callback function pointing to the input buffer of cs_disasm_ex()
2014-04-14 14:53:13 +08:00
Nguyen Anh Quynh
3d5b6f3e35
update capstone.h to add some minor details for SKIPDATA mode
2014-04-11 09:53:53 +08:00
Nguyen Anh Quynh
11ec8817dc
core: add CS_ERR_SKIPDATA error code to report when code access irrelevant info in SKIPDATA mode
2014-04-10 17:20:01 +08:00
Nguyen Anh Quynh
07ffd64c38
SKIPDATA: @offset of callback function should indicate the position of examining byte in input buffer
2014-04-10 14:36:08 +08:00
Nguyen Anh Quynh
a89383e81f
number of bytes skipped by SKIPDATA option depends on arch
2014-04-10 11:53:46 +08:00
Nguyen Anh Quynh
d3ffe37c47
API: support SKIPDATA option (off by default)
2014-04-09 23:49:30 +08:00
Nguyen Anh Quynh
901631eaed
remove the useless diet.h
2014-03-27 17:14:57 +08:00
Nguyen Anh Quynh
6d3c71128c
correct config.mk since X86-reduce now supports VMX/SVM
2014-03-27 15:38:23 +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
e4fae8723e
systemz: support length for Mem op
2014-03-24 17:26:57 +08:00
Nguyen Anh Quynh
da1e833c8c
systemz: support accesss register operand
2014-03-23 11:12:07 +08:00
Nguyen Anh Quynh
b3d000a841
fix SystemZ on Op
2014-03-23 09:15:50 +08:00
Nguyen Anh Quynh
48a14ca4ce
add SystemZ arch
2014-03-23 08:35:45 +08:00
Nguyen Anh Quynh
604c45e8d8
cleaning capstone.h
2014-03-13 07:04:18 +08:00
Nguyen Anh Quynh
2ff665ad4a
arm: support asm syntax CS_OPT_SYNTAX_NOREGNAME to print out registers with numbers (ex: 'r11' rather than 'fp')
2014-03-11 00:18:50 +08:00
Nguyen Anh Quynh
1a39bb59e1
API: bump to 2.2 after the addition of Sparc support
2014-03-10 20:49:46 +08:00
Nguyen Anh Quynh
20ab8069e7
add missing sparc.h
2014-03-10 14:36:25 +08:00
Nguyen Anh Quynh
05e27138ae
core: add Sparc arch
2014-03-10 11:58:57 +08:00
Nguyen Anh Quynh
f3b7bcfea1
indentation for ppc.h
2014-03-10 00:22:02 +08:00
Nguyen Anh Quynh
395bbab2de
cleanup x86.h & mips.h (C-IMM)
2014-03-09 04:08:11 +08:00
Nguyen Anh Quynh
183d05350d
ppc: correct a comment on IMM operand in ppc.h
2014-03-09 00:28:36 +08:00
Nguyen Anh Quynh
c8e0785cb6
add some more comments regarding invalidating @handle of cs_close()
2014-02-28 09:38:11 +08:00
Nguyen Anh Quynh
226d7dca64
change API cs_close() to take pointer to handle as argument. this lets us invalidate the closed handle
2014-02-27 22:20:39 +08:00
Nguyen Anh Quynh
d5d06ed736
Merge branch 'x86' into next
2014-02-25 15:10:47 +08:00
Nguyen Anh Quynh
492b8ed0d5
define CS_SUPPORT_DIET with relation to CS_ARCH_ALL for clarification
2014-02-25 08:14:15 +08:00
Nguyen Anh Quynh
143759d9ab
x86: update core
2014-02-24 23:30:45 +08:00
Nguyen Anh Quynh
f7cdbdf501
add CS_ERR_DIET error code to report information irrelevant in diet engine
2014-02-24 16:47:36 +08:00
Nguyen Anh Quynh
544e0ff611
explicitly warning about diet mode for some APIs in capstone.h
2014-02-23 20:24:47 +08:00
Nguyen Anh Quynh
c70adc30e8
clarify some comments regarding 'diet' mode in capstone.h
2014-02-23 00:03:46 +08:00
Nguyen Anh Quynh
b2870e4c4c
API: extend cs_support() to allow query on diet mode. add CS_SUPPORT_DIET at the same time
2014-02-22 23:41:16 +08:00
Nguyen Anh Quynh
fc83a439e5
add diet compile option (CAPSTONE_DIET option in config.mk). This reduces binary size by around 40%
2014-02-22 23:26:27 +08:00
Enzo Matsumiya
6bc08a850a
Fix the X86_REL_ADDR macro in x86.h
2014-02-19 22:07:36 +08:00
Nguyen Anh Quynh
8b915ed765
ppc: update core
2014-02-19 17:01:44 +08:00
Nguyen Anh Quynh
43a9a9d36f
bump API version from 2.0 to 2.1 for core + Python & Java bindings
2014-02-19 15:18:44 +08:00
Nguyen Anh Quynh
bc0b3b92fd
mips: update core
2014-02-19 15:13:20 +08:00
Nguyen Anh Quynh
6b804dacb1
arm: update core
2014-02-19 12:52:50 +08:00