/// Masks for symbols that represent multiple addresses. Usage:
///
/// if ((addr & CompareMask) == CompareValue &&
/// (addr & AddressMask) == (Value & AddressMask)) {
/// // match!
/// }
///
/// Instances are immutable.
///
public class MultiAddressMask {
public int CompareMask { get; private set; }
public int CompareValue { get; private set; }
public int AddressMask { get; private set; }
public MultiAddressMask(int cmpMask, int cmpValue, int addrMask) {
CompareMask = cmpMask;
CompareValue = cmpValue;
AddressMask = addrMask;
}
public override string ToString() {
return "MultiAddrMask: cmpMask=$" + CompareMask.ToString("x4") +
" cmpValue=$" + CompareValue.ToString("x4") +
" addrMask=$" + AddressMask.ToString("x4");
}
}
///