Toolchain for assembly and compilation of new code for FM10000 Instruction Processor Boot State Machine
Go to file
DataHoarder 1566c33d58
All checks were successful
continuous-integration/drone/push Build is passing
Enhanced debuggability of assembly and parsing errors
2021-01-04 06:09:39 +01:00
asm Add definition for RRET_X 2021-01-03 07:01:52 +01:00
src Enhanced debuggability of assembly and parsing errors 2021-01-04 06:09:39 +01:00
.drone.jsonnet Fix .drone.jsonnet build 2020-12-31 22:16:00 +01:00
.gitignore WIP: Initial commit, working basic assembler 2020-12-31 22:06:52 +01:00
CMakeLists.txt Flip stack around to be similar to other architectures. Implement FASTCALL calling convention 2021-01-02 10:30:32 +01:00
COPYING WIP: Initial commit, working basic assembler 2020-12-31 22:06:52 +01:00
README.md Add definition for RRET_X 2021-01-03 07:01:52 +01:00

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:

License

  • BSD-3-Clause
  • See COPYING for the full license.