Commit Graph

2729 Commits

Author SHA1 Message Date
wtfsck 6d7e440e72 Generate classes to convert string -> enum variants (tests) 2022-06-20 21:38:47 +02:00
wtfsck ad78eef4e6 Use `{@code XXX}` instead of `<code>XXX</code>` in javadocs 2022-06-20 21:38:37 +02:00
wtfsck d625bcf95a Add missing `final` to a few classes 2022-06-20 21:38:32 +02:00
wtfsck ea4293a66e Methods should start with a lowercase char 2022-06-20 21:38:26 +02:00
wtfsck 6f69cdbfbe Add missing `@Override` 2022-06-20 21:38:21 +02:00
wtfsck d40f82a03b Update `decode(Instruction)` docs 2022-06-20 21:38:16 +02:00
wtfsck fc0b9e091d Remove useless parens 2022-06-20 21:38:09 +02:00
wtfsck 876059ddbd Add back `internal` 2022-06-19 20:12:11 +02:00
wtfsck aedc0a20ac Use unsigned shr 2022-06-19 19:33:31 +02:00
wtfsck 11bf7f31c7 Update docs 2022-06-19 19:26:24 +02:00
wtfsck f15991baba Impl Java `Instruction.toString()` (masm formatter) 2022-06-19 19:21:32 +02:00
wtfsck 252c32a568 Add Java `StringOutput` 2022-06-19 19:21:27 +02:00
wtfsck 7ce5743ca0 Add Java `Decoder` 2022-06-19 19:21:20 +02:00
wtfsck a1d5ef428e Init `mandatoryPrefix` with correct values 2022-06-19 19:21:13 +02:00
wtfsck fad22d8ff5 Remove javadoc from package private methods 2022-06-19 19:21:07 +02:00
wtfsck e69eb26225 Fix JDK 8 javadoc warnings 2022-06-18 19:55:12 +02:00
wtfsck 129dc9860d Add Java `CodeAssembler`
Tests will be generated later
2022-06-18 19:39:53 +02:00
wtfsck c6a9a491a7 Support horizontal lines (doc gen) 2022-06-18 19:39:48 +02:00
wtfsck b8999f60b7 Update `MemoryOperand` to use `ICRegister` 2022-06-18 19:39:43 +02:00
wtfsck 82e89996f1 Move `MemoryOperandSize` enum from internal asm to normal asm package 2022-06-18 19:39:31 +02:00
wtfsck 7bb0b12fd3 Update Java `Instruction.create()` gen code
- Java doesn't support default arguments. Gen extra methods with less
  parameters.
- Remove `byte`/`short` parameters and replace them with `int`
  parameters and add runtime checks checking that they fit in 8 or 16
  bits. If they're `byte`/`short`, the user had to cast a literal, eg.
  `(byte)123`.
2022-06-18 19:39:25 +02:00
wtfsck 6ca9ad7f31 Update C# `Assembler` gen code 2022-06-18 19:39:19 +02:00
wtfsck 7d8015fed9 Add `ICRegister` for `Instruction.create()` methods
The `Register` is not an enum, just a class with integers, which causes
problems when overloading the `create()` method, so the param type had
to be included in the method name, eg. `create_reg_mem()` etc. This
commit adds `ICRegister` and `ICRegisters*` and updates the `create()`
methods to take an `ICRegister` instead of an `int` (a `Register`)
parameter so they can now all be called `create()`.
2022-06-18 19:39:11 +02:00
wtfsck 63edd8b901 Method should start with a lowercase char 2022-06-14 21:37:06 +02:00
wtfsck b4d7d9a018 Field should start with a lowercase char 2022-06-14 21:29:58 +02:00
wtfsck d1ae74f954 Add Java `NasmFormatter` 2022-06-14 21:10:50 +02:00
wtfsck 8bbb2bd52f Add Java `MasmFormatter` 2022-06-14 21:10:44 +02:00
wtfsck f24abde8b8 Add Java `IntelFormatter` 2022-06-14 21:10:37 +02:00
wtfsck f2d8bee707 Add Java `GasFormatter` 2022-06-14 21:10:30 +02:00
wtfsck a058a72894 Add Java `FastFormatter` 2022-06-14 21:10:20 +02:00
wtfsck 8b0be7d423 A few fixes, eg. add static, lowercase first char etc 2022-06-14 21:09:39 +02:00
wtfsck 87b6839739 Add Java `Formatter` and related classes
No implementations yet, though.
2022-06-13 22:56:21 +02:00
wtfsck b106141ced Add `private` to methods and fields 2022-06-13 22:56:16 +02:00
wtfsck 5240123667 Add missing `@FunctionalInterface` annotation to `VAGetRegisterValue` 2022-06-13 22:56:11 +02:00
wtfsck e8763cbb51 Should be signed rshift 2022-06-13 22:56:06 +02:00
wtfsck ea7b49f5fa Add a `copy()` method to `Used{Register,Memory}` 2022-06-13 22:55:59 +02:00
wtfsck 90fdbe5c15 Rename to `hasOpMask()` 2022-06-13 22:55:54 +02:00
wtfsck 2ae085fd83 Rename method to `getVirtualAddress()` 2022-06-11 20:42:59 +02:00
wtfsck d098cb59ad Add missing private ctor 2022-06-11 20:42:52 +02:00
wtfsck 787917eb83 Remove old docs, those methods have been removed 2022-06-11 20:42:47 +02:00
wtfsck 46c4418bd3 Fix method name (start with lowercase char) 2022-06-11 20:42:40 +02:00
wtfsck bcc200d944 Add Java `InstructionInfoFactory` and related classes 2022-06-11 20:12:37 +02:00
wtfsck 45cef78ffd Add Java `BlockEncoder` and related classes 2022-06-11 20:12:30 +02:00
wtfsck 3987a615b2 Add an automatic module name to `MANIFEST.INF` 2022-06-11 20:12:24 +02:00
wtfsck 7576dfad47 Make sure it compiles with JDK 8 2022-06-09 22:46:43 +02:00
wtfsck a74ed4f53e Add Java `Encoder`
Some files were also moved to the `enc` package.
2022-06-09 22:46:36 +02:00
wtfsck 7643bf4c08 Add an error msg if it's an invalid `displ_size` 2022-06-09 22:46:31 +02:00
wtfsck 9f0cb87170 Add `Instruction.getRawMemoryIndexScale()` 2022-06-09 22:46:17 +02:00
wtfsck c1ba9d0865 Add missing `MemorySize.isBroadcast()` function 2022-06-09 22:46:12 +02:00
wtfsck eb9bcdf576 Move big `byte`/`short` arrays to the resources 2022-06-08 22:29:24 +02:00