public void Clock() { if (!_addressMode.IsComplete) { _addressMode.Clock(); return; } if (!_instructionTypeReader.IsComplete) { _instructionTypeReader.Clock(); if (_instructionTypeReader.IsComplete) { _underlyingInstruction = GetInstructionFromByte(_instructionTypeReader.AddressedValue); } return; } if (!_underlyingInstruction.IsComplete) { _underlyingInstruction.Clock(); } }