assembler: support 4 operand shift