- Pre-assembler
- Read file
- Parse file
- Features
- Pseudo instructions (e.g.
mv
,neg
) - "Pseudo names" (e.g.
zero
,ra
,t0
, ...) - Labels (e.g.
loop:
) - Comments
- Pseudo instructions (e.g.
- Assembler
- Convert to binary
- Convert to hex
- Save in a file, if needed
- Fix branches (converting it to binary yields a wrong result) - they're saved in a weird manner
- Converting & deconverting from binary is wrong with negative values -> IMM values need to be reworked because they are sliced wrong
- Disassembler
- The slicing & negative number problem persists
- Runner
- Run from file
- Optional debug mode (click to advance to next instruction?)
- Features
- Program Counter
- Registers
- Memory
- Branches w/ PC
- Stack Pointer
- Functions