/// <summary>
        /// And the working register and file register.
        /// </summary>
        /// <param name="Destination">Set to 1 to store the results in the working register or 0 to
        /// store the result in the file register.</param>
        /// <param name="FlagAddress">Address of File register. The address has to be in the range of
        /// 0 ... 127 </param>
        /// <returns>Machine code value of instruction</returns>
        public override UInt16 AndWF(TRegisters Destination, Byte FlagAddress)
        {
            UInt16 IntelFormat = 0x00;

            if (IsAddressValid(FlagAddress) == true)
            {
                IntelFormat = (UInt16)Destination;
                IntelFormat <<= 7;
                IntelFormat |= FlagAddress;
                IntelFormat <<= 8;
                IntelFormat |= ANDWF >> 8;
            }
            return IntelFormat;
        }
 /// <summary>
 /// Increment the file register if != 0
 /// </summary>
 /// <param name="Destination">Set to 1 to store the results in the working register or 0 to
 /// store the result in the file register.</param>
 /// <param name="FlagAddress">Address of File register. The address has to be in the range of
 /// 0 ... 127</param>
 /// <returns>Machine code value of instruction</returns>
 public abstract UInt16 IncFSZ(TRegisters Destination, Byte FlagAddress);
 /// <summary>
 /// And the working register and file register.
 /// </summary>
 /// <param name="Destination">Set to 1 to store the results in the working register or 0 to
 /// store the result in the file register.</param>
 /// <param name="FlagAddress">Address of File register. The address has to be in the range of
 /// 0 ... 127 </param>
 /// <returns>Machine code value of instruction</returns>
 public abstract UInt16 AndWF(TRegisters Destination, Byte FlagAddress);