I finished my VM at about 1 am this morning. I had finished the fetch and decode phases of the CPU last night, and tonight (this morning...whatever) I finished the execute phase and most of the I/O handler... 1713 lines of code so far (but there isn't much left to do, one minor change for the sysin function ). I must say, that I was shocked with joy when I ran the provided test program for the first time and the output was correct on the first try. Like I said, the project wasn't that hard. The getting a mental wrangle on the specifications was the hard part, and setting aside the time to implement the thing was difficult too. I spent 8 hours reading the specs, conceptualizing the pieces of the system and designing the object classes, with 5.5 hours spent on debugging (it would have been less but I have been coding while I'm exhausted and burned about 2 hours with "bugs" that were really there ), and about 18 hours of programming... not too bad.
Now I'm trying to write a program with our toy assembly language... and I find myself REALLY missing the register to register
mov operation... things are really difficult when every operation has to be memory to register.
