Нужен атомарный код операции добавления в Solaris (архитектура sparc) - PullRequest
0 голосов
/ 11 ноября 2009

Мне нужен атомарный код операции, эквивалентный следующему:

__asm__ __volatile__ (
                    " lock;\n"
                    " addl %1, %0; \n"
                    " movl %0, %%eax"
                    : "=m"(a), "=a" (c)
                    : "ir"(b)
                    );

(Добавление двух переменных a и b и выходных данных, сохраненных в a и c в Linux)

Для Solaris (архитектура Sparc) необходим эквивалент вышеупомянутого. Кто-нибудь может мне помочь?

1 Ответ

1 голос
/ 11 ноября 2009

Эта статья должна подробно ответить на все ваши вопросы и даже содержит код: http://developers.sun.com/solaris/articles/atomic_sparc/

Возможно, вам придется немного переформатировать его с точки зрения встроенной сборки, но в остальном все должно быть хорошо.

...