private void ASL(ushort operand)
{
ushort value;
RegGeneral destination;
BitPatternSHF(operand, out value, out destination);
int register = (short)R[(int)destination] << value;
R[(int)destination] = (ushort)(register & 0x0000FFFF);
FL_N = (R[(int)destination] & 0x8000) != 0;
FL_Z = register == 0x0000;
FL_C = (register & 0xFFFF0000) != 0;
// V [Overflow] Not effected.
}