Break down larger files into several smaller files
There are some files that are 600 lines or longer and hard to read. In particular, the MIA ALU, the base processor class and the gui class are all large files.
It would probably be better so split these into smaller files both for the readability but also as a sort of separation of concern. For example, the majority if not all arithmetic methods in the ALU class could be static functions in a separate arithmetic-related file. another example is the processor class which contains around 200 lines of code for printing with formatting that is mainly used by the CLI only. This could be refactored into static functions in a separate file.
Edited by Johannes Kung