Kullanım XADD veya MOV komutu bir hata yükseltir yerine talimat ADD! Ayrıca bkz. MFENCE, LFENCE ve SFENCE talimatları!
DÜZENLEME: Kaynak işleneni bir bellek işlenen ise LOCK komutunu ADD yönergesi ile kullanamazsınız!
Gönderen: "Intel® 64 ve IA-32 ArchitecturesSoftware Geliştirici Kılavuzu"
KİLİDİ önek yalnızca talimatlar bu formlara aşağıdaki talimatlara ve sadece önüne alınabilir hedef işlenen , BTC, BTR, BTS, CMPXCHG, CMPXCH8B, DEC, INC, NEG, dEĞİL, YA, SBB, SUB, XOR, XADD ve xchg, ADD ADC vE: bir bellek işlenendir. LOCK öneki ile birlikte bu talimatlardan biri ve kaynak işleneni bir bellek işleneni ise, tanımsız opcode özel durumu (#UD) üretilebilir. Tanımlanmamış bir opcode istisnası, LOCK ön ekinin yukarıdaki listede bulunmayan herhangi bir talimatı ile kullanılması halinde de oluşturulacaktır. Formu: "Intel® 64 ve IA-32 ArchitecturesSoftware Geliştirici Kılavuzu, Volume3A"
XCHG talimat bakılmaksızın her zaman KİLİDİ öneki
EDIT2 ait varlığı ya da yokluğunun KİLİDİ # sinyalini iddia
8.1.1 Garantili Atomik İşlemler.
- okuma veya bir byte
- okuma yazma ya da bir kelime ile hizalanmış yazma: Intel486 işlemci (ve daha yeni işlemciler için) aşağıdaki temel bellek işlemleri her atomik gerçekleştirilecektir garanti 16 bit sınır
- okuma veya 32 bitlik bir sınır
Pentium işlemci ile hizalanmış bir doubleword yazma: (a nd yeni işlemciler beri) ek bellek işlemleri aşağıdaki hep atomik yapılacaktır garanti:
- okuma veya 64-bit sınırında hizalanmış bir quadword yazma
- 6 bitlik önbelleğe alınmamış belleğe erişir 32 bit
veri yolu sığacak yerleri (beri ve daha yeni işlemciler) P6 ailesi işlemciler
garanti aşağıdaki
ek bellek operasyonolacak o hep atomik gerçekleştirilmelidir:
- Hizalanmamış 16-, 32- ve 64-bit
bölünmüş karşısındadır önbelleklenebilir belleğe erişir bir önbellek hattı içinde
sığacak önbelleğe belleğe erişir otobüs genişlikleri, önbellek hatları, ve sayfa sınırları Intel Core 2 Duo, Intel Core Duo, Pentium M, Pentium 4, Intel Xeon, P6 ailesi, Pentium tarafından atomik olmak garantili ve Intel486 işlemciler değildir. Intel Core 2 Duo , Intel Core Duo, Pentium M, Pentium 4, Intel Xeon ve P6 ailesi işlemciler bölünmüş atomik erişen harici bellek alt sistemleri izin otobüsü kontrol sinyallerinin yapmak sağlamak; Ancak, , erişilemeyen veri erişimleri işlemcisini işlemcinin performansını ciddi şekilde etkiler ve bundan kaçınılmalıdır. writting için
LOCK CMPXCHG EAX, [J]
:
Yani, okuma için ben gibi KİLİDİ önek ile CMPXCHG talimat kullanmak prefare
MOV [J], EAX
SFENSE
.
Buraya ulaşmaya çalıştığınız şey nedir? – Iridium
Tüm yapmak istediğim, [J] 'yi dişli olarak güvenli bir şekilde okumak. – IamIC