RASM
From CPCWiki - THE Amstrad CPC encyclopedia!
Revision as of 07:41, 1 March 2018 by Roudoudou (Talk | contribs) (→Compatibility options: presentation)
RASM stands for Roudoudou AsSeMbler.
Unlike conventionnal Z80 assemblers, RASM is very fast and able to handle huge projects.
Released in february 2017, the project is still active
Contents
Performances
1 million lines in 0.03s on a modern computer, 100x faster than Sjasmplus claimed to be fast.
Generic features
- integrated crunched sections (LZ48/LZ49/LZ4/ZX7/Exomizer) and load&crunch on the fly.
- ORG checking, unlimited memory workspaces where labels are shared.
- ALL undocumented instructions.
- conditionnal macro, unlimited & embeded loops with local labels, switch/case.
- floating point engine, mathematical functions.
- multiple binary output
Amstrad specific features
- cartridge generation
- snapshot v2 and snapshot v3 generation
- unlimited EDSK management (update,creation as much as we want at the same time)
- binary output with optionnal AMSDOS header.
Compatibility options
- MAXAM compatibility
- internal calculations are done with unsigned 16 bits integers
- comparison with single '='
- AS80 compatibility (partial)
- internal calculations are done with 32 bits integers
- reference of current outputed adress with DEFB is the directive and not the outputed byte
- little differences in macro declarations
This option was designed to compile the CNG player, not to support all the bugs of AS80