private static bool Load(RegisterStore registers, Addressing addressing, out ControlFlags flags, out ushort bus) { flags = Microcode[registers.InstructionRegister, registers.StepCounter, (int)registers.Flags]; bus = 0; if (flags.Has(ControlFlags.Hlt)) { return(true); } LoadBusRegisters(registers, flags, ref bus); if (flags.Has(ControlFlags.LdMem)) { addressing.Read(registers.RegAddr, ref bus); } LoadBusAlu(registers, flags.AluFlags(), ref bus); // at this point the bus is fully loaded return(false); }
private static void Store(RegisterStore registers, Addressing addressing, in ControlFlags flags,