private void RNL(ushort operand)
{
ushort value;
RegGeneral destination;
BitPatternSHF(operand, out value, out destination);
if (value != 0) {
uint register = (uint)R[(int)destination] << value;
uint lo_bits = (register & 0xFFFF0000) >> 16;
R[(int)destination] = (ushort)((register & 0x0000FFFF) | lo_bits);
// C [Carry] Not effected.
// V [Overflow] Not effected.
}
FL_N = (R[(int)destination] & 0x8000) != 0;
FL_Z = R[(int)destination] == 0x0000;
}