andrew_programmer
написал 29 августа 2009 года в 15:23 (1738 просмотров)
Ведет себя
неопределенно; открыл 6 тем в форуме, оставил 13 комментариев на сайте.
Не могу понять почему не компилируется код.Вот код.
>
int func(int x,int y)
{
int retval;
_asm_ __volatile__(
«addl %%eax,%%ebx\n\t»
:«=b»(retval)
:«a»(x),«b»(y)
:«eax»,«ebx»
);
return(retval);
}
int main()
{
int x,y,z;
x=1;
y=2;
z=func(x,y);
return(0);
}
gcc 4.3.3 выдаёт:
ошибка: не найден регистр класса ‘AREG’ для загрузки операндов ‘asm’
ошибка: ‘asm’ operand has impossible constraints
Хотя код правильный. Что не нравиться GCC?
Если _volatile_ убрать, то компилируется, а с ним никак. Хотя должно компилироваться.
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
Всё.Разобрался с проблемой. На другом форуме помогли.
Если кому надо будет, то вот ссылка:
http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html