安騰(R) 處理器主題獲取並加上立即數指令

fetchadd

操作 字型慣例

指令型別 M

格式

(qp) fetchadd4.sem.ldhint r1 = [r3], inc3 four_byte_form

(qp) fetchadd8.sem.ldhint r1 = [r3], inc3 eight_byte_form


說明

GR r3 中的值指定的地址開始,從記憶體讀取四或八個位元組組成的值。在該值上執行零擴充套件,並將它加到 inc3 指定的符號擴充套件立即數。可由 inc3 指定的值包括:-16、-8、-4、-1、1、4、8、16。然後,從 GR r3 中的值指定的地址開始,將最低有效的四位元組或八位元組之和寫入記憶體。從記憶體讀取的經過零擴充套件的值放入 GR r1,並清除 GR r1 對應的 NaT 位。

sem 完成符指定訊號量操作的型別。

對於訪問可快取的寫回記憶體型別,記憶體讀取與寫入確保是原子型指令。對於訪問其它記憶體型別,採用原子型指令與否取決於具體的平臺。

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

對於引用的頁,同時需要讀取與寫入訪問許可權。無論是否執行記憶體寫入,都將執行寫入訪問許可權檢查。

僅允許訪問採用寫回型寫入策略的 UCE 頁或可快取頁。訪問 NaTPage 會導致“數據 NaT 頁使用”錯誤。訪問使用其它記憶體屬性的頁會導致“不支援的數據引用”錯誤。

在支援導出的 fetchadd 的處理器型號上,對 UCE 頁進行 fetchadd 會導致“獲取並加上”操作導出到處理器之外;如果平臺不支援導出的 fetchadd,則該操作未定義。在不支援導出的 fetchadd 的處理器型號上,對 UCE 頁面進行 fetchadd 會導致“不支援的數據引用”錯誤。

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