/// <summary>
 /// 指定アドレッシングモードでのアドレス取得
 /// </summary>
 /// <param name="mode"></param>
 /// <returns></returns>
 private ushort GetAddress(CpuAddressingModeType mode)
 {
     switch (mode)
     {
         case CpuAddressingModeType.Immediate: return this.GetAddressImmediate();
         case CpuAddressingModeType.Zeropage: return this.GetAddressZeroPage();
         case CpuAddressingModeType.ZeropageX: return this.GetAddressZeroPageX();
         case CpuAddressingModeType.ZeropageY: return this.GetAddressZeroPageY();
         case CpuAddressingModeType.Indirect: return this.GetAddressIndirect();
         case CpuAddressingModeType.IndirectX: return this.GetAddressIndirectX();
         case CpuAddressingModeType.IndirectY: return this.GetAddressIndirectY();
         case CpuAddressingModeType.Absolute: return this.GetAddressAbsolute();
         case CpuAddressingModeType.AbsoluteX: return this.GetAddressAbsoluteX();
         case CpuAddressingModeType.AbsoluteY: return this.GetAddressAbsoluteY();
         default: return 0;
     }
 }
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="command"></param>
 /// <param name="mode"></param>
 /// <param name="cycle"></param>
 /// <param name="size"></param>
 public CpuCommand(CpuCommandType command, CpuAddressingModeType mode, int cycle, int size)
 {
     this.Command = command;
     this.AdressingMode = mode;
     this.Cycle = cycle;
     this.Size = size;
 }