Commit Graph

20 Commits

Author SHA1 Message Date
22b4d0eb41 M680X: Target ready for pull request (#1034)
* Added new M680X target. Supports M6800/1/2/3/9, HD6301

* M680X: Reformat for coding guide lines. Set alphabetical order in HACK.TXT

* M680X: Prepare for python binding. Move cs_m680x, m680x_insn to m680x_info. Chec
> k cpu type, no default.

* M680X: Add python bindings. Added python tests.

* M680X: Added cpu types to usage message.

* cstool: Avoid segfault for invalid <arch+mode>.

* Make test_m680x.c/test_m680x.py output comparable (diff params: -bu). Keep xprint.py untouched.

* M680X: Update CMake/make for m680x support. Update .gitignore.

* M680X: Reduce compiler warnings.

* M680X: Reduce compiler warnings.

* M680X: Reduce compiler warnings.

* M680X: Make test_m680x.c/test_m680x.py output comparable (diff params: -bu).

* M680X: Add ocaml bindings and tests.

* M680X: Add java bindings and tests.

* M680X: Added tests for all indexed addressing modes. C/Python/Ocaml

* M680X: Naming, use page1 for PAGE1 instructions (without prefix).

* M680X: Naming, use page1 for PAGE1 instructions (without prefix).

* M680X: Used M680X_FIRST_OP_IN_MNEM in tests C/python/java/ocaml.

* M680X: Added access property to cs_m680x_op.

* M680X: Added operand size.

* M680X: Remove compiler warnings.

* M680X: Added READ/WRITE access property per operator.

* M680X: Make reg_inherent_hdlr independent of CPU type.

* M680X: Add HD6309 support + bug fixes

* M680X: Remove errors and warning.

* M680X: Add Bcc/LBcc to group BRAREL (relative branch).

* M680X: Add group JUMP to BVS/BVC/LBVS/LBVC. Remove BRAREL from BRN/LBRN.

* M680X: Remove LBRN from group BRAREL.

* M680X: Refactored cpu_type initialization for better readability.

* M680X: Add two operands for insn having two reg. in mnemonic. e.g. ABX.

* M680X: Remove typo in cstool.c

* M680X: Some format improvements in changed_regs.

* M680X: Remove insn id string list from tests (C/python/java/ocaml).

* M680X: SEXW, set access of reg. D to WRITE.

* M680X: Sort changed_regs in increasing m680x_insn order.

* M680X: Add M68HC11 support + Reduced from two to one INDEXED operand.

* M680X: cstool, also write '(in mnemonic)' for second reg. operand.

* M680X: Add BRN/LBRN to group JUMP and BRAREL.

* M680X: For Bcc/LBcc/BRSET/BRCLR set reg. CC to read access.

* M680X: Correctly print negative immediate values with option CS_OPT_UNSIGNED.

* M680X: Rename some instruction handlers.

* M680X: Add M68HC05 support.

* M680X: Dont print prefix '<' for direct addr. mode.

* M680X: Add M68HC08 support + resorted tables + bug fixes.

* M680X: Add Freescale HCS08 support.

* M680X: Changed group names, avoid spaces.

* M680X: Refactoring, rename addessing mode handlers.

* M680X: indexed addr. mode, changed pre/post inc-/decrement representation.

* M680X: Rename some M6809/HD6309 specific functions.

* M680X: Add CPU12 (68HC12/HCS12) support.

* M680X: Correctly display illegal instruction as FCB .

* M680X: bugfix: BRA/BRN/BSR/LBRA/LBRN/LBSR does not read CC reg.

* M680X: bugfix: Correctly check for sufficient code size for M6809 indexed addressing.

* M680X: Better support for changing insn id within handler for addessing mode.

* M680X: Remove warnings.

* M680X: In set_changed_regs_read_write_counts use own access_mode.

* M680X: Split cpu specific tables into separate *.inc files.

* M680X: Remove warnings.

* M680X: Removed address_mode. Addressing mode is available in operand.type

* M680X: Bugfix: BSET/BCLR/BRSET/BRCLR correct read/modify CC reg.

* M680X: Remove register TMP1. It is first visible in CPU12X.

* M680X: Performance improvement + bug fixes.

* M680X: Performance improvement, make cpu_tables const static.

* M680X: Simplify operand decoding by using two handlers.

* M680X: Replace M680X_OP_INDEX by M680X_OP_CONSTANT + bugfix in java/python/ocaml bindings.

* M680X: Format with astyle.

* M680X: Update documentation.

* M680X: Corrected author for m680x specific files.

* M680X: Make max. number of architectures single source.
2017-10-21 21:44:36 +08:00
1fb2b53620 Add CS_MODE_MIPS2 to opt-in for COP3 instructions (#939)
* Add CS_MODE_MIPS2 to opt-in for COP3 instructions

* Fix indentation

* Get rid of `+`
2017-06-27 20:56:54 +08:00
10647aef58 bindings: update java/ocaml/python after the latest changes in the core for the new API 2015-03-25 17:35:59 +08:00
cac770a0cb bindings: support QPX mode & QPX alias instructions 2015-03-12 17:03:33 +08:00
4dd0dcb9d4 add CS_GRP_PRIVILEGE group, and also add X86_GRP_PRIVILEGE group for bunch of X86 privileged instructions 2015-03-09 00:04:45 +08:00
ad42f16b14 mips: remove the confusing mode CS_MODE_MIPSGP64 2015-03-07 00:48:06 +08:00
ff9a5743d9 ocaml: update Mips modes to CS_MODE_MIPS32 & CS_MODE_MIPS64 2014-11-13 12:09:49 +08:00
8e53890a8e ocaml/java: support CS_MODE_V8 for Arm 2014-11-10 22:06:23 +08:00
a65d7ef5fa java/ocaml/python: update bindings after the last change on generic instruction groups 2014-10-31 15:47:17 +08:00
69271ddf74 java/ocaml/python: add the missing generic instruction operand types 2014-10-31 14:32:34 +08:00
79e253c516 Remove CS_MODE_N64
- This mode is for the so-called MIPS "N64" ABI; it has nothing to do with the Nintendo 64 game platform.
- N64, O64, et al. are just different ABIs for the 64-bit MIPS architecture, so we replace CS_MODE_N64 with the existing CS_MODE_64
2014-10-12 16:03:12 -07:00
fe4822c32a Ocaml: major update
- support cs_option & cs_close API.

- do not turn on DETAIL mode by default.

- all test_<arch> samples turn on DETAIL mode at runtime.

- remove OO sample code in test*.ml.

- better API, so interface is natural & close to C API.

- ATT syntax support for X86 sample code.
2014-10-04 16:30:02 +08:00
82354b60ba ocaml: rename cs_disasm() back to cs_disasm_quick(), which rightly reflects its nature 2014-09-28 23:56:02 +08:00
6dc1dd5ae0 ocaml: remove fields regs_read_count, regs_write_count, groups_count, as they can be derived from the lengths of related arrays 2014-09-27 00:40:34 +08:00
81a97c6c5c ocaml: ocaml.c is wrongly implemented in various places. this fixes all the issues, and all test_<arch> works as expected now 2014-09-26 23:38:53 +08:00
77d93e9062 ocaml: update to work with v3 core 2014-09-25 23:03:36 +08:00
ae48c97763 OCaml: add sparc, systemz and xcore 2014-08-19 14:46:06 +02:00
e002ac7b10 ocaml: add support of ppc 2014-06-30 15:46:04 +02:00
cece24e426 working OCaml bindings 2014-06-26 15:35:06 +02:00
26ee41aa67 initial import 2013-11-27 12:11:31 +08:00