本文整理汇总了C#中Clock.Prolong方法的典型用法代码示例。如果您正苦于以下问题:C# Clock.Prolong方法的具体用法?C# Clock.Prolong怎么用?C# Clock.Prolong使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Clock
的用法示例。
在下文中一共展示了Clock.Prolong方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Execute
public virtual void Execute(Clock.Clock clock, MOS6502 cpu, byte pageCrossProlong, byte cycle)
{
byte mem = cpu.Target.Read();
byte a = cpu.State.A.Value;
int tmp = 0, vCheck = 0;
if (cpu.State.P.Decimal)
{
tmp = (a & 0x0f) + (mem & 0x0f) + cpu.State.P.CarryValue;
if (tmp > 0x09)
tmp += 0x06;
tmp += (a & 0xf0) + (mem & 0xf0);
vCheck = tmp;
if ((tmp & 0x1f0) > 0x90)
tmp += 0x60;
cpu.State.P.Carry = (tmp & 0xff0) > 0xf0;
}
else
{
vCheck = tmp = a + mem + cpu.State.P.CarryValue;
cpu.State.P.Carry = (tmp & 0xff00) != 0;
}
cpu.State.A.Value = (byte)tmp;
cpu.State.P.Overflow = ((a ^ mem) & 0x80) == 0 && ((a ^ vCheck) & 0x80) != 0; //(mem & 0x80) == (a & 0x80) && (vCheck & 0x80) != (a & 0x80);
cpu.State.P.Zero = cpu.State.A.IsZero;
cpu.State.P.Negative = cpu.State.A.IsNegative;
if (cpu.Target.IsPageCrossed(cpu.State.PC.Value))
clock.Prolong(pageCrossProlong, cpu.Phase);
}