A student writes: I just noticed in the code that was given to us for lab #2 that STATE_NUMBER variable in the System Latches struct is only provided for debugging. I actually used this variable in the last function to latch the data values. For example... else if ((CURRENT_LATCHES.STATE_NUMBER == 18) || (CURRENT_LATCHES.STATE_NUMBER == 19)) { NEXT_LATCHES.MAR = BUS; NEXT_LATCHES.PC = CURRENT_LATCHES.PC + 2; } I set up all of the last function like this. I know how to do it a different (and easier) way now, but I'm wondering if I can just leave it like this if it works correctly. Please let me know if I need to change it. Thanks, <> Yes, you do need to do it a different (and easier) way. What you have shown is a piece of a simulation of the LC-3b at a high (behavioral) level. What you want is to understand solidly what is going on at the low (structural) level, so you really understand what is going on in the datapath to make everything work correctly. That means each of the control signals that makes a particular high level construct happen. For example, to say that in state 19, PC=PC+2 does not mean you understand what causes that to happen. For example, you can say PC=PC+2 without even knowing there is such a thing as a PCMUX or what the various control signals for it are. The first thing to do to complete the lab is fill in your ucode file (the control store). Is this done? You also need to simulate the different structures like the PCMUX, ADDR1MUX, etc. Good luck. Yale Patt