Сборка x86 с 3 или 4 параметрами в синтаксисе AT&T

Простой вопрос Я сомневаюсь, что этому будет уделено много внимания, но как мне выполнить 3 или 4 параметра в сборке x86-64 с синтаксисом AT&T (gAS)? Любому программисту x86, использующему gAS, известно, что аргументы переключаются, например:

xor   eax,  ebx ; Intel (xASM)
xorl %ebx, %eax ; AT&T (gAS)

Но как мне поступить, сказать:

blendpd xmm0, xmm1, 5

Что я имею в виду, как написаны инструкции? Я понимаю, что будет %xmm0 и такие (все еще префиксы для параметров), но как они упорядочены и какой суффикс я должен добавить в конце инструкции (l в movl для 32-битной)?

1 ответ

Решение

Эквивалент AT&T был бы там, где порядок операндов обратный:

blendpd $5, %xmm1, %xmm0

Если вы не уверены, что вы всегда можете скомпилировать с синтаксисом Intel, то разберите на AT&T.

Другие вопросы по тегам