diff --git a/README.md b/README.md index f25112e..cd55357 100644 --- a/README.md +++ b/README.md @@ -2,24 +2,32 @@ A human readable assembler format and compiler for the whitespace programming language This Assembler was written at 1:00 in the morning as a proof of concept, because I was bored. It probably features bugs. Feel free to report them as issues. + There are probably a bunch of better assemblers/compilers outputting whitespace out there, I'd highly reccomend looking around for them. Usage ----- Compile the C# Project + Run WhitespaceAssembler.exe with the input and output file destinations as Parameters Variables and Values -------------------- Numbers can be input as simple decimal integers, #hexadecimal values (prefixed with #) or as 'A' Ascii characters (' ' is currently not supported, use Ascii code 32 instead. + Variables have two prefixes depending on if you are talking about their Value or their Address. They do not need to be declared. \*variableName retrieves the value at the given variable (Like a Pointer dereference) &variableName gets the address of the Variable + Labels are prefixed with a . and can be defined with the lbl command Instruction Set --------------- -THe instructions are followed by any of the following symbols, describing the parameter type. (parameters in code are seperated by spaces or tabs) + +The instructions are followed by any of the following symbols, describing the parameter type. (parameters in code are seperated by spaces or tabs) + \# Means a Number Value or an Address (&variableName) + \* Means a Variable Value (\*variableName) + . Means a Label >Stack Maniupulation