...
What documentation is available for developers?
There is a user guide which describes the syntax of both the Jasm and JCod assembler languages.
...
AsmTools is interesting because it is developed in lock-step with the development of the Java platform (JDK). AsmTools always maintains the version of Java which is currently under development.
Also, AsmTools is well integrated with Oracle's current test infrastructure, such as JavaTest and the JTReg test harnesses.
What is the difference between Jasm assembly and JCod assembly?
The JAsm assembler language tries to do two things: Keep a member declaration syntax that is relatively similar to Java member signatures, and represent all byte-code instructions as mnemonics. This is useful for concentrating on issues such as sequencing byte-code instructions in a way that is different than how a compiler sequences instructions.
The JCod assembler language focuses on the structure of a classfile. It typically sees each classfile construct as a structure or collection of bytes. Byte-code instructions are seen as collections of hexadecimal bytes. JCod provides a syntax where bytes can be inserted around constructs in ways that are un-natural to a compiler. Attributes for classes/members are visible as structs in JCod, where they are typically not directly visible in Jasm.
Which assembler you should use is mostly dependent on the type of class issue you wish to synthesize. Typically, if you wish to construct structurally malformed classes, you might choose JCod. If you wish to concentrate on instruction formatting or sequencing issues, you might choose JAsm.
The syntax for each of these assemblers is described in detail in the appendices of the User Guide.
What are the unique advantages of AsmTools?
...