示例#1
0
 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);
 }
示例#2
0
 private static void Store(RegisterStore registers, Addressing addressing, in ControlFlags flags,