There are three binaries in the toolchain: - The compiler "civcc", which compiles CiviC source code to assembly source - The assembler "civas", which compiles assembly source to an object file that can be run by the VM. - The virtual machine "civvm", which runs one or more object files, one of which should export a "main" function. Additionally, there is a run script "run.sh" which takes one file name argument and runs it through the entire pipeline, deleting intermediate files afterwards. E.g. for the first assignment you may want to run: $ bin/run.sh euclid.cvc