Project - Out of order
The well worn dot matrix printer is connected to the 10 million dollar mainframe. We are single step debugging at the machine level and printing diagnostics. The diagnostics are for the microcode engineers back in Japan. The breakpoint hits. We execute the instruction. Ok. The next instruction XORs memory on itself (leaving 0s) followed by an instruction that restores the memory to the original value. The sequence is there to trick the system into thinking something changed so the memory won’t be paged out. We step into the XOR instruction but instead the system executes the one after it. Hmm.. did we all miss something. Then we execute the next instruction but the system goes backward and executes the XOR. It executed the two instructions out of order. That is not supposed to happen and blew my mind. And worse for our users, it left the 0s in memory instead of what should be there. And the 0s were a problem.
…