The assembler is the program responsible for the transformation of assembly source code into machine code, by following the specification of our cpu.
Like a compiler, an assembler is composed of two majors parts :
- The Lexer
- The Parser (in my implementation, the parser is responsible for transforming a list of tokens into a bit stream)
I implemented an assembler for my second instruction set with the programming language Rust. All of the source code is available on my github.