LINUX.ORG.RU

Сообщения electrobas94

 

Передача переменных встроенному ассемблеру в gcc

Нужна помощь, никак не могу передать значение переменной. пример: char a='D';//ее надо запихать в регистр al asm(movb [??],%al); Нашел вот это: asm («movl %0,%%eax»::«i»(1)); но с переменной таким макаром не прокатывает. Видит только объявленные данные в ASMt-е. Заранее извините за такой вопрос прост сроки горят нужно срочно а этим компилятором не долго пользуюсь, да и к Intel синтаксису ассемблера привык.

Нашел вот это. Код C int main(void) { int x = 10, y; asm («movl %1, %%eax; „movl %%eax, %0;“ :»=r"(y) /*y - выходной операнд*/ :«r»(x) /*x - входной операнд*/ :«%eax»); /*%eax - «затираемый» регистр*/ } но так и не допер как char в al сунуть(

 , ,

electrobas94
()

RSS подписка на новые темы