проблема компиляции asm - PullRequest
0 голосов
/ 28 ноября 2011
:96: Error: `(%rax,%edx,4)' is not a valid base/index expression

:97: Error: `-4(%rax,%edx,4)' is not a valid base/index expression

101: Error: `(%rax,%edx,4)' is not a valid base/index expression

102: Error: `-4(%rax,%edx,4)' is not a valid base/index expression

я получаю эти сообщения об ошибках, не знаю, как это исправить, это мой код

                 "movl        $0, %6\n"
     line96      "start:        \n\t"
     line97      "movl        (%1,%3,4),%4\n\t"       
                 "movl        -4(%1, %3, 4), %5\n\t"  
             "cmpl        %4, %5\n\t"    
    line 101     "jle             next\n\t"
     line102     xchgl        %4, %5\n\t"               
                 "movl        %4, (%1, %3, 4)\n\t"        
                 "movl        %5, -4(%1, %3, 4)\n\t"        
                 "movl        $1, %6\n\t"

... мой код длинный, поэтому я не хочу публиковать весь код, но яделать пузырьковую сортировку в asm ,, когда я компилирую, я получаю вышеупомянутые сообщения об ошибках, не совсем уверен, как это исправить ... если кто-нибудь может объяснить, что не так, будет полезно .. спасибо .. извините, если форматнемного неопрятный я новичок в этом ..

1 Ответ

0 голосов
/ 28 ноября 2011

Вы неправильно используете косвенную адресацию.

Неправильно использовать пару ax: dx в качестве базовых указателей со смещением.См. Примеры this и this .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...