Почему я получаю ошибки «недопустимого операнда» при компиляции сборки SPARC с помощью GCC (2 строки, инструкции cmp и bl)?

#gcc #assembly #sparc #operand

#gcc #сборка #sparc #операнд

Вопрос:

GCC жалуется, что:

A3.s: сообщения ассемблера: A3.s: 32: Ошибка: недопустимые операнды A3.s: 33: Ошибка: недопустимые операнды

Нарушающие строки (выделены курсивом) и окружающий код:

 b random_init_for_test
nop

random_init_for_test:
**set 0, i_s
cmp i_s, 40**
bl random_init_for
nop
 

Я новичок в сборке SPARC, и мне не повезло исправить это. Кто-нибудь может увидеть проблему?

Ответ №1:

Вам не хватает регистрационных префиксов (%)?