XCASM is a meta assembler with high level optimising code generation
capabilities and powerful built-in macro processing facilities
- User definable processor architecture.
- User definable processor instruction syntax (opcode / operand
relationships, e.g. as complex as a Z80 or as simple as a PIC).
- User definable instruction packing and operand computation (e.g PC
relative addressing, page relative etc).
- Supports very wide instructions ( > 256 bits, restricted only by
sub-field widths of 32 bits per field with unlimited number of fields).
- Full featured powerful macro processor.
- Generates fully relocated and mapped listings
- Dynamic labels
- Complex expressions involving assembler variables, numbers, labels
- String and label manipulation functions
- Assembler variables
- Forward referencing and dynamic referencing
- Multiple sections and overlays
- Assembler code generation directives (e.g. '.include' '.if'
- Allows the user to place embedded simulation directives directly in
the assmebler source code (e.g. stop here if W=0, print value of FRED in
trace buffer, read FRED from a file at this point, popup a dialog and
ask the user for a value at this point)
- High level language compilation facility allowing the use of 'C' like
expressions and high level statements in the assembler source code from
which the assembler will generate an optimised assembler equivalent.
Read XCASM documentaion on-line
XCASM on-line demo