Intel ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3 Manual page 1584

Hide thumbs Also See for ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3:
Table of Contents

Advertisement

LTR—Load Task Register
Opcode
0F 00 /3
Description
Loads the source operand into the segment selector field of the task register. The
source operand (a general-purpose register or a memory location) contains a segment
selector that points to a task state segment (TSS). After the segment selector is loaded
in the task register, the processor uses to segment selector to locate the segment
descriptor for the TSS in the global descriptor table (GDT). It then loads the segment
limit and base address for the TSS from the segment descriptor into the task register.
The task pointed to by the task register is marked busy, but a switch to the task does
not occur.
The LTR instruction is provided for use in operating-system software; it should not be
used in application programs. It can only be executed in protected mode when the CPL
is 0. It is commonly used in initialization code to establish the first task to be executed.
The operand-size attribute has no effect on this instruction.
Operation
IF Itanium System Environment THEN IA-32_Intercept(INST,LTR);
IF SRC(Offset) > descriptor table limit OR IF SRC(type) global
THEN #GP(segment selector);
FI;
Reat segment descriptor;
IF segment descriptor is not for an available TSS THEN #GP(segment selector); FI;
IF segment descriptor is not present THEN #NP(segment selector);
TSSsegmentDescriptor(busy)  1;
(* Locked read-modify-write operation on the entire descriptor when setting busy flag *)
TaskRegister(SegmentSelector)  SRC;
TaskRegister(SegmentDescriptor)  TSSSegmentDescriptor;
Flags Affected
None.
Additional Itanium System Environment Exceptions
IA-32_Intercept
Protected Mode Exceptions
#GP(0)
4:282
Instruction
Description
LTR r/m16
Load r/m16 into TR
Mandatory Instruction Intercept.
If the current privilege level is not 0.
If a memory operand effective address is outside the CS, DS, ES, FS,
or GS segment limit.
If the DS, ES, FS, or GS register is used to access memory and it
contains a null segment selector.
Volume 4: Base IA-32 Instruction Reference

Advertisement

Table of Contents
loading

This manual is also suitable for:

Itanium architecture 2.3

Table of Contents