質問

高レベルの D インターフェースを提供する関数を探していますIntel x86のアトミックCAS

インラインASMで実行できることはわかっています(必要に応じて実行します)が、できれば他の誰かからコードを取得したいだけです。

役に立ちましたか?

解決

次のドキュメントから: http://www.digitalmars.com/d/ 2.0 / overview.html

  

インラインアセンブラー

     

デバイスドライバー、高性能   システムアプリケーション、組み込みシステム、   特殊なコードは時々必要です   取得するためにアセンブリ言語に浸る   仕事完了。 Dの実装は   インラインを実装する必要はありません   アセンブラ、それは定義されており、   言語。ほとんどのアセンブリコードが必要   それで対処することができ、   個別のアセンブラまたはDLLが必要です。

     

多くのD実装も   組み込み関数をサポート   Cのサポートと同様   I / Oポート操作の組み込み関数、   特別なフローティングへの直接アクセス   ポイント操作など

したがって、理論上はCMPXCHGを直接使用できます。


編集

次をご覧ください: http://www.dsource.org/projects/tango/browser/trunk/tango/core/Atomic.d?rev=4277

何らかの理由でロードに時間がかかりますが、CMPXCHG命令を内部で使用しているため、目的に合わせてリツールするのは簡単です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top