Из документации по адресу: http://www.digitalmars.com/d/2.0/overview.html
Встраиваемый Assembler
Драйверы устройств, высокая производительность системных приложений, встраиваемых систем, и специализированный код иногда нужно купанием в ассемблере, чтобы получить работа выполнена. В то время как реализации D - это не требуется для реализации встроенного асинхронного модуля , он определяется и является частью языка . Большинство требований к кодам сборки могут быть обработаны с ним, устраняя необходимость использования отдельных ассемблеров или библиотек DLL.
Многих D реализация также будет поддержки встроенных функций аналогична поддержкой C о встроенных функциях для манипулирования порта ввода/вывода, прямого доступа к специальным плавающим точечным операциям и т.д.
Таким образом, вы могли бы в теория использует CMPXCHG напрямую.
Редактировать
Вы можете посмотреть по адресу: http://www.dsource.org/projects/tango/browser/trunk/tango/core/Atomic.d?rev=4277
Это займет некоторое время, чтобы загрузить по какой-то причине, но он использует инструкцию CMPXCHG внутри, она должна быть тривиальной переделайте его для своих целей.
Я знаю, что могу сделать это сам. Мне просто интересно, могу ли я просто использовать то, что использовал кто-то другой. – BCS
Танго выглядит хорошо. – BCS