Toolchain for assembly and compilation of new code for FM10000 Instruction Processor Boot State Machine
Go to file
DataHoarder bb8df3aae2
All checks were successful
continuous-integration/drone/push Build is passing
Implemented POPP stack peeking op. Start stdlib.asm and init
- implement std_multiply
2021-01-02 06:31:26 +01:00
asm Implemented POPP stack peeking op. Start stdlib.asm and init 2021-01-02 06:31:26 +01:00
src Implemented POPP stack peeking op. Start stdlib.asm and init 2021-01-02 06:31:26 +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 Implemented POPP stack peeking op. Start stdlib.asm and init 2021-01-02 06:31:26 +01:00
COPYING WIP: Initial commit, working basic assembler 2020-12-31 22:06:52 +01:00
README.md Implemented POPP stack peeking op. Start stdlib.asm and init 2021-01-02 06:31:26 +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: