Ошибка: мусор `bswapl eax movl %eax'после регистрации
Я определяю MACRO в исходном коде ГАЗА. Но он не компилируется gcc.
Следующее - мой определенный MACRO.
#define MSGSCHEDULE0(index) \
movl (index*4)(%rsi) ,%eax \
bswapl eax \
movl %eax ,(index*4-272)(%rdi)
Ниже приведены сообщения ассемблера:
ошибка: мусор `bswapl eax movl %eax'после регистрации
Я хочу использовать этот MACRO в моем коде следующим образом:
MSGSCHEDULE0(0)
MSGSCHEDULE0(1)
MSGSCHEDULE0(2)
//...
MSGSCHEDULE0(16)
0 ответов
Используйте точку с запятой, чтобы обозначить GAS конец строки:
#define MSGSCHEDULE0(index) \
movl (index*4)(%rsi),%eax; \
bswapl %eax; \
movl %eax,(index*4-272)(%rdi)
Не забудьте про знак процента для регистров.