I can't understand why there are *s in the .cmp file and the other thing I can't understand is why the .cmp file has a writeM of 0 if you're supposed to take d3 from the following image and route it to the writeM.
I believe the asterisks in the compare file tell the comparison tool to ignore that field for that line. This is useful when you don't know exactly what the value of each person's output would be in cases where there's multiple ways to accomplish some task.
As for your writeM signal, take a careful look at that instruction. What does that instruction do? Start with making sure you know what type of instruction it is.
I think I'm understanding.
Don't write and don't jump on certain instruction cycles.
Lol, this was killing me.
Edit: How rude of me. In my haste to fix my CPU, I've forgotten to thank you.
Thank You so much. Just that one piece of advice was enough for me to finally be able to come to a conclusion on why my writeM wasn't working correctly. Also it also helped me with regards to the control bits for the ARegister and the DRegister. Without this, I wouldn't have been able to pass the test.