provides up to two registers as source operands , one immediate source, and up to two registers as target operands.Some variations of this instruction format use portions of the target and source register operand specifiers as immediate fields or as extended opcodes.