2009-03-05 3 views

Répondre

4

De la documentation à l'adresse: http://www.digitalmars.com/d/2.0/overview.html

Inline Assembleur

pilotes de périphériques, des applications hautes performances système, systèmes embarqués, et code spécialisé doivent parfois plonger dans le langage d'assemblage pour obtenir le travail fait. Alors que les implémentations D sont pas nécessaire pour implémenter l'assembleur en ligne , il est défini et fait partie du le langage. La plupart des besoins du code d'assemblage peuvent être traités avec, évitant le besoin d'assembleurs séparés ou DLL.

De nombreuses implémentations D seront également support des fonctions intrinsèques analogue au soutien de C de intrinsics pour la manipulation des ports E/S, accès direct aux opérations ponctuelles flottantes spéciales, etc.

Alors vous pourriez en théorie utiliser le CMPXCHG directement.


Modifier

Vous pouvez consulter: http://www.dsource.org/projects/tango/browser/trunk/tango/core/Atomic.d?rev=4277

Il prend un certain temps à charger pour une raison quelconque, mais il utilise l'instruction cmpxchg interne, il devrait être trivial rééquipez-le pour vos besoins.

+0

Je sais que je peux le faire moi-même. Je me demande simplement si je peux juste utiliser quelque chose que quelqu'un d'autre a utilisé. – BCS

+0

Le truc de tango a l'air bien. – BCS

Questions connexes