Assembler Completed

Added the Assembler.
Added instructions for the assembler to README.md
Added Assembler Manual
Modified Makefile to build the Assembler.
This commit is contained in:
Anachronaut
2024-10-26 15:31:24 -04:00
committed by GitHub
parent 044c80d537
commit dfa5ad2638
23 changed files with 1627 additions and 22 deletions
+17 -4
View File
@@ -10,6 +10,7 @@ SplitBit is a custom CPU designed for hobbyist projects and experimentation. The
- CLI Based: Debug messages and CPU input and output are supported through the command line.
- Binary File Support: Load programs and data from binary files.
- Modular Codebase: Mostly clean separation of CPU, I/O, and utility functions for easy modification.
- Assembler: Assemble human readable assembly language files directly into SplitBit compatible binary files. Supports including external files, handling labels, and defining Program and Data segments.
### Installation:
1) Clone the repository:
@@ -17,13 +18,18 @@ SplitBit is a custom CPU designed for hobbyist projects and experimentation. The
git clone https://github.com/RealBusinessAccount/SplitBit-Emulator.git
cd SplitBit-Emulator
```
2) Build the Emulator: You'll need gcc and make or similar.
2) Build the Emulator and the Assembler: You'll need gcc and make or similar.
```
make
```
3) Run the emulator:
3) Assemble a program:
```
./SplitBit Programs/hello.bin
./Assembler Programs/hello.asm
```
4) Run the program:
```
./SplitBit hello.bin
```
### Usage:
@@ -34,8 +40,15 @@ make
- -d, --debug: Enable debug mode to single step through cycles.
- -h, --help: Show help and usage information.
### Usage:
```
./Assembler [assembly file]
```
#### Notes:
- The assembled binaries are saved with the same name as the assembly source file they're assembled from, with a .bin extension, in the same directory.
### Additional Info:
For more information on the custom ISA and programming for SplitBit, see the Programming Manual.
For more information on the custom ISA and programming for SplitBit, see the Programming Manual and Assembler Manual.
### License:
This project is licensed under the Apache License, Version 2.0. You may obtain a copy of the License at [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0).