public static MaskedLong fromMaskAndValue(long msk, long val) {
		if (msk == 0) {
			return UNKS;
		}
		if (msk == -1 && val == 0) {
			return ZERO;
		}
		if (msk == -1 && val == -1) {
			return ONES;
		}
		return new MaskedLong(msk, val);
	}
Create a masked value from a mask and a long

<p>
Any positions in {@code msk} set to 0 create an {@code x} in the corresponding position of
the result. Otherwise, the position takes the corresponding bit from {@code val}.

@param msk the mask
@param val the value
@return the constructed masked long
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/app/plugin/assembler/sleigh/expr/MaskedLong.java