Skip to content

Commit

Permalink
Updated READMEs.
Browse files Browse the repository at this point in the history
  • Loading branch information
linguini1 committed Jan 17, 2024
1 parent 5bac00f commit b36a860
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 2 deletions.
8 changes: 7 additions & 1 deletion assembler/README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,33 @@
# Assembler

[![License: GNUGPL3.0](https://img.shields.io/badge/License-GNUGPL3.0-purple.svg)](https://opensource.org/license/gpl-3-0)

Contains the assembler for the Gol-16 Assembly Language (G-ASM).

## Specifications

To view the specifications for G-ASM, please view the [spec file][spec-file] listed in the main project directory.

## Inspirations

This lexer is heavily inspired by the C lexer featured on [The Vimagean][lexer-vid] channel. I have never built a lexer
before, so I used this as a starting point. The full source code can be found [here][lexer-source].

## Testing

The assembler comes with its own test harness, which includes a suite of test programs and a test runner executable
which reports primitive statistics. The test harness uses the assembler to compile a list of test programs from source,
and then compares the generated byte code to the hand assembled/verified byte code I've written. Any difference results
in error.
in error. You can run the test harness with `make test`.

## Building from Source

The Makefile for the G-ASM assembler uses gcc and the header files that come with it in MinGW64. It has only been
tested on a Windows 64b machine. In order to run the `make clean` rule, you will need to be in a bash shell. I have been
using Git bash on Windows for this purpose.

## Missing Functionality

The assembler currently implements every directive in the specifications except EQU (and DIVS/custom macros). This will
be added once I figure out the best way of doing so.

Expand Down
14 changes: 13 additions & 1 deletion emulator/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
# Emulator

Contains the emulator for the gol-16. Can be used to debug programs.
Contains the emulator for the gol-16. Can be used to debug programs. **Under construction.**

# Usage

Run `gemu` with a compiled program from the gol-16 assembler to simulate its execution:

```console
gemu program.o
```

# Building & Development

You can build the emulator using `make`. You can also use `make test` to run the unit tests for `gemu` while developing.

0 comments on commit b36a860

Please sign in to comment.