LINUX.ORG.RU

Переменные в асм-вставках

 ,


0

1

Правильно ли я понимаю, что такая вставка не в gcc-стиле

__asm
{
   smulbb product, x, y;
}
где product, x и y - локальные переменые преобразуется к следующему виду в gcc синтаксисе.
asm("snullbb %[prd], %[xx], %[yy]" : [prd] "=r" (product): [xx] "r" (x) : [yy] "r" (y));
Спасибо.

★★★★★

Последнее исправление: Dudraug (всего исправлений: 1)

__asm__(«smulbb %[prd], %[xx], %[yy]» : [prd] «=r» (product): [xx] «r» (x) , [yy] «r» (y));

Таки название инструкции ожидается одинаковое и ',' вместо ':'

Однако по описанию кажется входные регистры должны быть для smulbb различные. В общем случае данная конструкция может использовать для входных один и тот же регистр. В это надо суметь вляпаться, но возможно:

x = y = 2; __asm__(«smulbb %[prd], %[xx], %[yy]» : [prd] «=r» (product): [xx] «r» (x) , [yy] «r» (y));

0: e3a00002 mov r0, #2 4: e1600080 smulbb r0, r0, r0

io ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.