assembly asm编译问题[重复]

xienkqul  于 2022-11-13  发布在  其他
关注(0)|答案(1)|浏览(266)

此问题在此处已有答案

asm error message: `(%rax,%edx,4)' is not a valid base/index expression(3个答案)
上个月关闭。

: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,,当我编译我得到上面的错误消息,我不太确定如何修复它...如果任何人可以解释什么是错误的将是有帮助的..谢谢..对不起,如果格式有点不整齐我新的...

yks3o0rb

yks3o0rb1#

您错误地使用了间接寻址。
错误地使用ax:dx对作为带位移的基指针。有关示例,请参考this和this。

相关问题