cambridge-asm
Disclaimer
This software is not related to Cambridge International, Cambridge University, or any of their sister institutions
Purpose
This is an interpreter for the pseudoassembly defined in syllabus 9618 - Computer Science of Cambridge Assesment International Education.
Usage
Cambridge Pseudoassembly Interpreter 0.6.0
Saadi Save <github.com/SaadiSave>
Run pseudoassembly from Cambridge International syllabus 9618 (2021)
USAGE:
cambridge-asm [FLAGS] <INPUT>
FLAGS:
-h, --help Prints help information
-t Enables output of execution time
-V, --version Prints version information
-v Sets the logging level
ARGS:
<INPUT> Sets the input file containing pseudoassembly
Flags may be combined, e.g. -tv
, -vvt
, etc.
Logging levels
OFF
by default-v
=WARN
: Enable warnings-vv
=INFO
: Enable info logs-vvv
=DEBUG
: Enable debugging logs-vvvv
=TRACE
: Trace execution line by line
WARN
Arithmetic overflows are logged as warnings. That may change in the future.
INFO
General status is logged as info.
DEBUG
Steps in the parsing procedure and internal structs created are shown in debug logs
TRACE
Line-by-line execution is logged
Example program
LOOP: LDX 201
OUT
INC IX
LDD CNT
INC ACC
STO CNT
CMP #5
JPN LOOP
LDM #10 // Code for newline
OUT // Output newline
END // This program prints HELLO
CNT: 0
201 72 // H
202 69 // E
203 76 // L
204 76 // L
205 79 // O