The descriptor specified by the selector in the first operand must be within the descriptor table limits, have a valid type field, and be accessible at both CPL (Current Privilege Level) and RPL (Requestor's Privilege Level) of the selector in the second operand compared to DPL (Descriptor Privilege Level). If so, ZF is set to 1 and the segment attributes are loaded to the first operand. If not, ZF is set to zero, and the first operand is unmodified (due to privilege or GDT or LDT limits).
If the 32-bit operand size is specified, the entire 32-bit value is loaded into the 32-bit destination. If the 16-bit operand size is specified, the lower 16 bits of this value are stored in the 16-bit destination register.
The following special-segment and gate-descriptor types are valid for LAR: 1,2,3,4,5,6,7,9,B,C,E,F. All application code and data segment descriptors are valid.
Example: sub eax,eax mov ax,cs mov ebx,eax lar eax,ebx
Opcode Format 0F 02 /r LAR r16,r/m16 0F 02 /r LAR r32,r/m32