Es ist interessant, die anderen Antworten zu lesen. Ich denke @GJ ist wahrscheinlich auf das Geld.
Seit vielen Jahren war es immer wahr, dass 32-Bit lesen und schreiben atomar war. Erst in den letzten Jahren ist dies mit dem wirklich aggressiven Caching nicht mehr gewährleistet.
Ich denke, deshalb bevorzuge ich C++, Java oder so etwas zwischen mir und dem Maschinencode. Heutzutage ist der Maschinencode zu komplex, um zuverlässig zu schreiben (es sei denn, Sie tun es viel, um Ihre Fähigkeiten scharf zu halten). Glücklicherweise sind die heutigen optimierenden Compiler so gut, dass Sie selten die Leistung eines handoptimierten Assemblers benötigen.
Ich denke, du hast Recht. Das macht Sinn. Vielen Dank. – IamIC
Vergiss nicht, eine Antwort zu akzeptieren, wenn es dir geholfen hat;) –
Nicht immer! Wenn die Speicheradresse im Cache ist, die eine zweite CPU in einer Mehrprozessoreinheit verwendet, ist das Lesen nicht garantiert atomar. Verwenden Sie also "LOCK CMPXCHG EAX, [var]", die zuerst den Speichercache sperren. –