Ошибка ассемблера Linux «невозможное ограничение в« asm »»

Я начинаю с ассемблера под Linux. Я сохранил следующий код как testasm.c
и скомпилировал его с помощью: gcc testasm.c -otestasm
Компилятор отвечает: «невозможное ограничение в« asm »».

#include <stdio.h>
int main(void)
{
    int foo=10,bar=15;

    __asm__ __volatile__ ("addl %%ebx,%%eax"
        : "=eax"(foo) 
        : "eax"(foo), "ebx"(bar) 
        : "eax" 
    );

    printf("foo = %d", foo);

    return 0;
}

Как я могу решить эту проблему? (Я скопировал пример сВот.)

Debian Lenny, ядро 2.6.26-2-amd64
gcc версия 4.3.2 (Debian 4.3.2-1.1)

разрешение:
Посмотрите принятый ответ - кажется, что измененное предложение больше не поддерживается.

Ответы на вопрос(3)

Ваш ответ на вопрос