This is a very simple assembler that targets the Supernova ISA
To single line comments, just add a ; to comment until the end of the line:
; like so
To create labels in a line, write their name inside square brackets and a semi colon afterwards, followed by a comment or a newline:
[label_1]:
In theory spaces are allowed but better not try.
All instructions will fall in one of the following categories for the instruction """parser""":
- R instructions, which are in the form
instr r* r* r*, where*represents any number of a register - S instructions with hex immediate, in the form
instr r* r* #hwhere*represents register numbers andha valid hex number - S instructions with decimal immediate, in the form
instr r* r* $dwhere*represents register numbers andda valid decimal number - S instructions with label, in the form
instr r* r* [l]where*represents register numbers andla valid label name - L instructions with hex immediate, in the form
instr r* #hwhere*represents register numbers andha valid hex number - L instructions with decimal immediate, in the form
instr r* $dwhere*represents register numbers andda valid decimal number - L instructions with label, in the form
instr r* [l]where*represents register numbers andla valid label name
That is basically it for now, data operations and multiple sections is a future for next releases