background image

LAR—Load Access Rights Byte

INSTRUCTION SET REFERENCE, A-L

Vol. 2A 3-515

The LAR instruction can only be executed in protected mode and IA-32e mode.

Operation

IF Offset(SRC) > descriptor table limit

THEN 

ZF ← 0; 

ELSE

SegmentDescriptor ← descriptor referenced by SRC;

IF SegmentDescriptor(Type) 

≠ 

conforming code segment

and (CPL > DPL) or (RPL > DPL)

or SegmentDescriptor(Type) is not valid for instruction

THEN

ZF ← 0;

ELSE

DEST ← access rights from SegmentDescriptor as given in Description section;

ZF ← 1;

FI;

FI;

Flags Affected

The ZF flag is set to 1 if the access rights are loaded successfully; otherwise, it is cleared to 0.

Table 3-52.  Segment and Gate Types

Type

Protected Mode

IA-32e Mode

Name

Valid

Name

Valid

0

Reserved

No

Reserved

No

1

Available 16-bit TSS

Yes

Reserved

No

2

LDT

Yes

LDT

No

3

Busy 16-bit TSS

Yes

Reserved

No

4

16-bit call gate

Yes

Reserved

No

5

16-bit/32-bit task gate

Yes

Reserved

No

6

16-bit interrupt gate

No

Reserved

No

7

16-bit trap gate

No

Reserved

No

8

Reserved

No

Reserved

No

9

Available 32-bit TSS

Yes

Available 64-bit TSS

Yes

A

Reserved

No

Reserved

No

B

Busy 32-bit TSS

Yes

Busy 64-bit TSS

Yes

C

32-bit call gate

Yes

64-bit call gate

Yes

D

Reserved

No

Reserved

No

E

32-bit interrupt gate

No

64-bit interrupt gate

No

F

32-bit trap gate

No

64-bit trap gate

No