public static void BSF(Data.Command com) { int b1 = (com.GetHighByte() & 3) << 1; int b = b1 + (((com.GetLowByte() & 128) == 128) ? 1 : 0); byte f = (byte)(com.GetLowByte() & 127); Data.SetRegisterBit(Data.AddressResolution(f), b, true); }
public static void GOTO(Data.Command com) { byte k1 = com.GetLowByte(); byte k2 = (byte)(com.GetHighByte() & 7); byte merge = (byte)((Data.GetRegister(Data.Registers.PCLATH) & 24) + k2); Data.SetPCFromBytes(merge, k1); Data.SetPCLfromPC(); SkipCycle(); }
public static void BTFSS(Data.Command com) { int b1 = (com.GetHighByte() & 3) << 1; int b = b1 + (((com.GetLowByte() & 128) == 128) ? 1 : 0); byte f = (byte)(com.GetLowByte() & 127); if (Data.GetRegisterBit(Data.AddressResolution(f), b) == true) { Data.IncPC(); SkipCycle(); } }