![Intel ITANIUM ARCHITECTURE Manual Download Page 38](http://html.mh-extra.com/html/intel/itanium-architecture/itanium-architecture_manual_2073403038.webp)
Volume 4: Base IA-32 Instruction Reference
4:31
ARPL—Adjust RPL Field of Segment Selector
Description
Compares the RPL fields of two segment selectors. The first operand (the destination
operand) contains one segment selector and the second operand (source operand)
contains the other. (The RPL field is located in bits 0 and 1 of each operand.) If the RPL
field of the destination operand is less than the RPL field of the source operand, the ZF
flag is set and the RPL field of the destination operand is increased to match that of the
source operand. Otherwise, the ZF flag is cleared and no change is made to the
destination operand. (The destination operand can be a word register or a memory
location; the source operand must be a word register.)
The ARPL instruction is provided for use by operating-system procedures (however, it
can also be used by applications). It is generally used to adjust the RPL of a segment
selector that has been passed to the operating system by an application program to
match the privilege level of the application program. Here the segment selector passed
to the operating system is placed in the destination operand and segment selector for
the application program’s code segment is placed in the source operand. (The RPL field
in the source operand represents the privilege level of the application program.)
Execution of the ARPL instruction then insures that the RPL of the segment selector
received by the operating system is no lower (does not have a higher privilege) than
the privilege level of the application program. (The segment selector for the application
program’s code segment can be read from the procedure stack following a procedure
call.)
See the
Intel Architecture Software Developer’s Manual, Volume 3
for more information
about the use of this instruction.
Operation
IF DEST(RPL) < SRC(RPL)
THEN
ZF
1;
DEST(RPL)
SRC(RPL);
ELSE
ZF
0;
FI;
Flags Affected
The ZF flag is set to 1 if the RPL field of the destination operand is less than that of the
source operand; otherwise, is cleared to 0.
Opcode
Instruction
Description
63 /
r
ARPL
r/m16,r16
Adjust RPL of
r/m16
to not less than RPL of
r16
Summary of Contents for ITANIUM ARCHITECTURE
Page 1: ......
Page 7: ...402 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 199: ...4 192 Volume 4 Base IA 32 Instruction Reference FWAIT Wait See entry for WAIT ...
Page 352: ...Volume 4 Base IA 32 Instruction Reference 4 345 ROL ROR Rotate See entry for RCL RCR ROL ROR ...
Page 589: ...4 582 Volume 4 IA 32 SSE Instruction Reference ...
Page 590: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 Index ...
Page 591: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 603: ...INDEX Index 12 Index for Volumes 1 2 3 and 4 ...
Page 604: ......