此问题在此处已有答案:
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,,当我编译我得到上面的错误消息,我不太确定如何修复它...如果任何人可以解释什么是错误的将是有帮助的..谢谢..对不起,如果格式有点不整齐我新的...
1条答案
按热度按时间yks3o0rb1#
您错误地使用了间接寻址。
错误地使用ax:dx对作为带位移的基指针。有关示例,请参考this和this。