DataHoarder
e76befaed7
All checks were successful
continuous-integration/drone/push Build is passing
1.5 KiB
1.5 KiB
rrcc (Red Rock Canyon Compiler)
Toolchain for assembly and compilation of new code for FM10000 Instruction Processor Boot State Machine
NOTE: This is a Work In Progress project
Requirements
- cmake >= 3.13
- g++ (GCC C++) or clang
- make
Compilation
$ mkdir build && cd build
$ cmake ../ && make
- An executable named
./rrc-as
should now exist.
rrc-as
Assembler and linker, kind-of 2-Pass. Quite loose token syntax defined in Token.h.
Usage
$ ./rrc-as code.asm [code2.asm ...] output.bin
- The function named
entrypoint
will be called by init asm - Multiple asm files can be specified. They are interpreted from first in arguments to last.
- You can call functions across files, as they will be linked together.
- Directive resolution occurs at parsing time, so while you can override values it does not affect previously parsed files.
- Directives like
.constant
are passed to the next files. - These files will be automatically included in front every time:
- asm/registers.asm: Base named registers for platform.
- asm/config.asm: Contains user-configurable parameters.
- asm/api.asm: Registers used for some driver/switch manager operations.
- asm/stdlib.asm: Standard library and other miscellaneous utilities.
- asm/init.asm: Sets up some required registers and other config.
License
- BSD-3-Clause
- See COPYING for the full license.