STR - 儲存任務暫存器

操作碼

指令

說明

0F 00 /1

STR r/m16

將 TR 中的段選擇器儲存到 r/m16

說明

將任務暫存器 (TR) 中的段選擇器儲存到目標運算元。目標運算元可以是通用暫存器或記憶體位置。使用此指令儲存的段選擇器指向目前正在執行的任務的任務狀態段 (TSS)。

目標運算元是 32 位暫存器時,16 位段選擇器複製到暫存器的低 16 位,暫存器的高 16 位清除為 0。目標運算元是記憶體位置時,不論運算元大小如何,段選擇器都作為 16 位數寫入記憶體。

STR 指令僅在操作系統軟體中有用。它只能在保護模式中執行。

操作

DEST TR(SegmentSelector);

影響的標誌

無。

保護模式異常

#GP(0) - 如果目標是不可寫的段中的記憶體運算元,或是其有效地址超出 CS、DS、ES、FS 或 GS 段限制。如果 DS、ES、FS、或 GS 暫存器用於訪問記憶體,並且它包含空的段選擇器。

#SS(0) - 如果記憶體運算元有效地址超出 SS 段限制。

#PF(錯誤程式碼) - 如果發生頁錯誤。

#AC(0) - 如果在目前特權級別為 3 且啟用對齊檢查的情況下進行未對齊的記憶體引用。

實地址模式異常

#UD - STR 指令無法在實地址模式中識別。

虛 8086 模式異常

#UD - STR 指令在虛 8086 模式中無法識別。