Nguyen Anh Quynh
04c19beefe
rename API cs_disasm_dyn() to cs_disasm_ex(), and intentionally breaks compatibility with 1.0
2013-12-25 13:26:22 +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
2296d5e926
add macro CS_MAKE_VERSION, which is handy to create combined version from major & minor version so that can be compared to the result of cs_version_ex()
2013-12-22 21:01:17 +08:00
Nguyen Anh Quynh
b880678a25
old cs_version() and new cs_version() are not compatible, so revert old one, and create new separate API cs_version_ex()
2013-12-22 15:20:07 +08:00
Nguyen Anh Quynh
0877747bcd
cs_version() can accept NULL arguments. this is useful if you dont care about major/minor, but only want to get returned combined version
2013-12-22 14:16:28 +08:00
Nguyen Anh Quynh
39a42eddfb
Change the way of supporting arch modularization
...
- Always use libapstone.so as library name, no matter which archs are compiled in.
- Add new API cs_support() to check if a particular arch is supported.
- Change cs_version(): return hexical version which encodes both major & minor version.
the return value can be comparable.
- Bump API version to 1.1
2013-12-22 10:40:58 +08:00
Nguyen Anh Quynh
f185180436
cleaner implementation for arch modularization
2013-12-21 12:16:47 +08:00
Nguyen Anh Quynh
7008356bc5
change cs_insn struct to follow the commit 18103e4a
. fixed Python & Java bindings accordingly. attn: bindings
2013-12-20 22:02:20 +08:00
Nguyen Anh Quynh
1bdb23a76d
add CS_OPT_MODE option. this allows us to change engine's mode at run-time
2013-12-20 00:04:26 +08:00
Nguyen Anh Quynh
d06e2f5ac1
arm: expose alias registers SB, SL, FP & IP. attn: bindings
2013-12-19 16:50:57 +08:00
Nguyen Anh Quynh
df3fb00ed7
arm: add comments to arm.h for coprocessor register types
2013-12-19 12:41:50 +08:00
Nguyen Anh Quynh
7957ed1def
arm64: add some alias registers. attn: bindings
2013-12-15 00:32:20 +08:00
Nguyen Anh Quynh
46a5afd810
add comment to clarify which information in cs_insn is available when CS_OPT_DETAIL = OFF
2013-12-14 11:52:06 +08:00
Nguyen Anh Quynh
4994c587ad
bindings: support new 'detail' option for java & python
2013-12-14 11:39:33 +08:00
Nguyen Anh Quynh
4d3e852fbb
detail option: provide instruction id even when detail option is OFF
2013-12-14 10:45:09 +08:00
Nguyen Anh Quynh
a209e67f8a
support to turn on/off building instruction details
2013-12-14 00:23:41 +08:00
pancake
f0e4eed89d
Use const on all read-only buffers
2013-12-11 22:14:42 +01:00
Nguyen Anh Quynh
ad89d25d05
mips: optimize Mips_map_register() to O(1). suggested by Pancake
2013-12-11 23:20:34 +08:00
Nguyen Anh Quynh
66f6c2283e
mips: fix NEGU alias instruction. bug reported by Pancake
2013-12-11 21:37:24 +08:00
Nguyen Anh Quynh
36df4bb6a7
revert the cs_version() API
2013-12-10 13:31:20 +08:00
Nguyen Anh Quynh
bb64b0bdca
more API version to capstone.h, and remove cs_version(). reset API back to 1.0 for public release
2013-12-10 07:56:17 +08:00
Nguyen Anh Quynh
bdaf3b5089
x86: delete useless constant values assigned for instructions in x86.h
2013-12-09 00:55:49 +08:00
Nguyen Anh Quynh
162409e730
mips: upgrade core engine
2013-12-08 20:17:28 +08:00
Nguyen Anh Quynh
731bf2a714
arm64: update core engine
2013-12-08 15:13:47 +08:00
Nguyen Anh Quynh
041e25dd66
add CS_ERR_OPTION type. cs_option() returns this error code on invalid option
2013-12-06 00:37:32 +08:00
Nguyen Anh Quynh
a236902656
fix CS_INSN_OFFSET: calculate offset based on the address of related instruction only
2013-12-05 20:21:09 +08:00
Nguyen Anh Quynh
a84d747f7c
fix typo in CS_INSN_OFFSET
2013-12-05 18:33:34 +08:00
Nguyen Anh Quynh
bb5460348b
add CS_INSN_OFFSET macro, so we can easily calculate offset of one insn, given its position in its array
2013-12-05 18:29:51 +08:00
Nguyen Anh Quynh
4d70daf83d
note that Intel is default syntax
2013-12-05 09:50:50 +08:00
Nguyen Anh Quynh
a2f825ff07
support comments in autogen files, so constant files are more friendly
2013-12-04 23:56:24 +08:00
Nguyen Anh Quynh
79976c1370
fix some comments in capstone.h
2013-12-04 23:03:13 +08:00
Nguyen Anh Quynh
8f13f3c6ab
rename @hex_code to @bytes, and move it to next to @size
2013-12-04 22:57:04 +08:00
Nguyen Anh Quynh
c45b1588ef
Merge branch 'master' of https://github.com/joxeankoret/capstone into hexcode
2013-12-04 19:28:54 +08:00
Joxean
367a4df66f
Partially reverted previous commit
...
I added mistakenly various local-only changes.
2013-12-04 07:15:45 +01:00
Joxean
114df0ef2a
Added @hex_code member
...
It's used to retrieve the bytes of the instruction.
2013-12-04 07:11:32 +01:00
Nguyen Anh Quynh
f8db76ab94
arm64: correct value of ARM64_SFT_ROR
2013-12-04 12:37:55 +08:00
Nguyen Anh Quynh
ea5b79d058
move some alias registers around to after REG_MAX. this seems to fix some issues of clang, which struggles with enum that assign value from other enum
2013-12-04 12:10:47 +08:00
Nguyen Anh Quynh
b39ef0bfa6
arm: added some alias registers
2013-12-04 11:52:28 +08:00
Nguyen Anh Quynh
da8adaded2
API cs_option(): @value now has size_t, so mapping opaque pointer is possible for future options
2013-12-04 09:44:07 +08:00
Nguyen Anh Quynh
c618db4473
change option names for cs_option(), and update python binding accordingly to support new cs_option()
2013-12-04 00:05:04 +08:00
Nguyen Anh Quynh
b8ce68ec05
change cs_option() API to be more flexible with option value
2013-12-03 23:45:08 +08:00
Nguyen Anh Quynh
01aba002e3
add cs_option() API. move ATT & Intel syntax here, rather than having them as CS_MODE, which is wrong
2013-12-03 21:00:09 +08:00
Nguyen Anh Quynh
612b5d23e8
consistently use same param name @address rather than @offset in all cs_disasm*() API
2013-12-03 12:23:09 +08:00
Nguyen Anh Quynh
f2a649e1ef
cs_insn.address also needs to be changed after the change on @offset of cs_disasm*() API
2013-12-03 12:21:01 +08:00
Nguyen Anh Quynh
7d5f96d3a7
merge Radare's pull request on API change on @address of cs_disasm*()
2013-12-03 11:53:42 +08:00
Nguyen Anh Quynh
029df200b4
add some comments referring to cs_errno() on failure of some APIs
2013-12-03 11:36:54 +08:00
Nguyen Anh Quynh
f35e2ad35c
add @regs_read_count, @regs_write_count, @groups_count to @cs_insn. bump API to 1.4
2013-12-03 11:10:26 +08:00
pancake
c04f873791
Use uint64_t instead of size_t for addresses
2013-12-03 02:51:46 +01:00
Nguyen Anh Quynh
3582bc1b9b
arm64: ARM64_GRP_JUMP is in the wrong place. move it to its place and also clarify some GRP comments
2013-12-03 09:43:27 +08:00
Nguyen Anh Quynh
ec0ed8ee94
semantics: add insn group JUMP, so now we can check if this insn is branching
2013-12-02 13:55:38 +08:00
Nguyen Anh Quynh
173ed2b1cb
arm: upgrade core engine
2013-12-01 22:19:27 +08:00
Nguyen Anh Quynh
270d8ae712
Merge branch 'master' into x86
2013-12-01 00:28:38 +08:00
Nguyen Anh Quynh
3640f3cc73
clarify in capstone.h that no API accepts CS_ARCH_* as handle anymore
2013-12-01 00:26:27 +08:00
Nguyen Anh Quynh
36d143b6d0
x86: update core engine
2013-12-01 00:05:22 +08:00
Nguyen Anh Quynh
6b9b6647c1
arm64: support more alias insn
2013-11-30 12:28:56 +08:00
Nguyen Anh Quynh
6b7abe3c81
arm64: handle alias insn in a better way, and add support for MNEG. bug reported by Patroklos Argyroudis
2013-11-30 00:54:24 +08:00
Nguyen Anh Quynh
f1656de40a
reduce the size of @operands for arm & arm64
2013-11-29 20:26:34 +08:00
Nguyen Anh Quynh
90acea3530
fix arm64_op_mem & arm64_op_type structures: int32_t is enough for imm & disp
2013-11-29 17:54:17 +08:00
Nguyen Anh Quynh
b42a657873
change cs_disasm() and cs_disasm_dyn() to be portable API. fix related code using these API
2013-11-29 17:40:07 +08:00
Nguyen Anh Quynh
26ee41aa67
initial import
2013-11-27 12:11:31 +08:00