2009-11-11 5 views
0

мне нужно атомная коду операции, эквивалентное следующее:Нужен атомный код операции сложения на Solaris (SPARC архитектура)

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

(Добавление два переменных а и б и выход хранится как а и с на Linux)

Эквивалент выше необходим для Solaris (архитектура Sparc). Есть ли кто-нибудь, кто поможет мне?

ответ

1

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

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

Смежные вопросы