コード例 #1
0
 public static void doOUTI(CpuContext ctx)
 {
     var value = ctx.ReadMemory1(ctx.HL);
     ctx.B = doIncDec(ctx, ctx.B, true);
     ctx.ioWrite(ctx.BC, value);
     ctx.HL++;
     int flag_value = value + ctx.L;
     ctx.VALFLAG(Z80Flags.F_N, (value & 0x80) != 0);
     ctx.VALFLAG(Z80Flags.F_H, flag_value > 0xff);
     ctx.VALFLAG(Z80Flags.F_C, flag_value > 0xff);
     ctx.VALFLAG(Z80Flags.F_PV, parityBit[(flag_value & 7) ^ ctx.B]);
     adjustFlags(ctx, ctx.B);
 }
コード例 #2
0
 public static void doOUT(CpuContext ctx, byte Port)
 {
     ctx.ioWrite((ushort)(ctx.A << 8 | Port), ctx.A);
 }