Skip to content

AshtonSnapp/hasm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hasm

Rust Build & Test

The Homebrew Assembler. Currently supporting the 16-bit Cellia architecture and the 8-bit ROCKET88 architecture.

Each architecture supported by hasm will be separated into its own module, although every architecture's assembler code will have the same general structure: you have a lexer which takes in files of assembly code and outputs streams of tokens which are fed into a parser which structures those tokens into a file syntax tree. Then the syntax trees are fed into a linker which tries to combine all of these trees into a single program tree, which is finally fed into a binary generator which does exactly what you think.

Right now I'm still trying to implement the assemblers for the two architectures I mentioned earlier, and I've only just now gotten to the parser. It's going to be a pain to write anything that's actually decently capable, but it'll be worth it. While Cellia is my brain-child, I'm going to write the ROCKET88 parser first since it's a simpler architecture.

Building hasm

Clone this repository to your local machine, cd into the directory, and run cargo build. Simple!

About

The Official Cellia Cross-Assembler for Modern Computers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages