Skip to content

Commit

Permalink
Updated Readme
Browse files Browse the repository at this point in the history
  • Loading branch information
littleBugHunter committed Dec 27, 2019
1 parent c59381b commit fd8a7a0
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit fd8a7a0

Please sign in to comment.