| Code | Mnemonic | Description |
|---|---|---|
| 0F 00 /1 | STR r/m16 | Stores segment selector from TR in r/m16 |
Stores the segment selector from the task register (TR) in the destination operand. The destination operand can be a general-purpose register or a memory location. The segment selector stored with this instruction points to the task state segment (TSS) for the currently running task.
When the destination operand is a 32-bit register, the 16-bit segment selector is copied into the lower 16 bits of the register and the upper 16 bits of the register are cleared to 0s. When the destination operand is a memory location, the segment selector is written to memory as a 16-bit quantity, regardless of operand size.
The STR instruction is useful only in operating-system software. It can only be executed in protected mode.
| Operands | Bytes | Clocks | |
|---|---|---|---|
| reg16 | 3 | 2 | NP |
| mem16 | 3 + d(0 - 2) | 2 | NP |
| ID | unaffected | DF | unaffected |
|---|---|---|---|
| VIP | unaffected | IF | unaffected |
| VIF | unaffected | TF | unaffected |
| AC | unaffected | SF | unaffected |
| VM | unaffected | ZF | unaffected |
| RF | unaffected | AF | unaffected |
| NT | unaffected | PF | unaffected |
| IOPL | unaffected | CF | unaffected |
| OF | unaffected |