The destination operand contains the value of a selector. The source operand is a word register (usually contains the CS selector value of the caller). If the RPL field ("requested privilege level" -- bottom two bits) of the destination operand is less than the RPL field of the source operand, the zero flag is set to 1 and the RPL field of the destination operand is increased to match the second operand. Otherwise, the zero flag is set to 0 and no change is made to the first operand.
ARPL is used guarantee that a selector parameter to a subroutine does not request more privilege than the caller is allowed. Both destination and source must be valid selectors.
ARPL appears in operating system software; it is not used in application programs.