安騰(R) 處理器主題交換指令

xchg

操作 字型慣例

指令型別 M

格式

(qp) xchgsz.ldhint r1 = [r3], r2


說明

GRr3 中的值指定的地址開始,從記憶體中讀取 sz 個位元組組成的值。GR r2sz 個位元組的最低有效值從 GR r3 中的值指定的地址開始寫入記憶體。從記憶體讀取的值隨後進行零擴充套件,放入 GR r1,並清除 GR r1 對應的 NaT 位。

如果 GR r3 中的值指定的地址未自然對齊記憶體中訪問的值的大小,則不管“使用者掩碼”對齊檢查位 UM.ac(在“處理器狀態暫存器”中,是 PSR.ac)的狀態如何,都將執行“未對齊的數據引用”錯誤的處理。

對於引用的頁,同時需要讀取與寫入訪問許可權。

交換使用獲取語義執行,也就是說,在進行後續的所有數據記憶體訪問之前,記憶體讀取/寫入都成為可見的。

記憶體讀取與寫入確保是原子型(不可再分)指令。

只有採用寫回型寫入策略的可快取頁才支援此指令。訪問 NaTPage 會導致“數據 NaT 頁使用”錯誤。訪問使用其它記憶體屬性的頁會導致“不支援的數據引用”錯誤。

ldhint 完成符的值指定記憶體訪問的區域性。區域性提示不影響程式功能,在實現的版本中可能會被忽略。