~maddie/custom-processor-simulator

ref: e1ab8b6a76c84accc883856af1abbd26f21e98b1 custom-processor-simulator/src d---------
Implement reads from serial port/stdin.
Implemented as a buffer that gets filled from stdin whenever empty.
Write tests for immediate values and addition related behaviours.
Implement memory access instructions and fix small errors.
The small errors were because this one is a dumbass that forgot to run cargo check before
making the last commit. Read from serial port is unimplemented as handling of stdin is planned to be handled in the main program loop.
Implement control flow instructions.
Implement condition check instructions.
Implement logical operations.
Implement the rest of the arithmetic ops.
This implements subtraction, multiplication, and division, as well as the associated
checks for overflows and div by 0
Implemented addition and the generalised parts of handling arithmetic ops.
In particular, implemented the invert (I) flag, and ensured that the program
counter is unwritable for arithmetic instructions.
Initial commit
Creates processor.rs as well as the processor struct and the start of the code for executing instructions.