【发布时间】:2011-11-28 02:50:14
【问题描述】:
:96: 错误:`(%rax,%edx,4)' 不是有效的基/索引表达式
line97: 错误: `-4(%rax,%edx,4)' 不是有效的基础/索引表达式
line101: 错误: `(%rax,%edx,4)' 不是有效的基础/索引表达式
line102: 错误: `-4(%rax,%edx,4)' 不是有效的基础/索引表达式
我收到这些错误消息,但不知道如何解决。
这是我的代码:
__asm__ (
"loop: \n\t"
"movl $1,%3\n\t"
"movl $0, %6\n"
"start: \n\t"
"movl (%1,%3,4),%4\n\t"
"movl -4(%1, %3, 4), %5\n\t"
"cmpl %4, %5\n\t"
"jle next\n\t"
"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"
"next: \n\t"
"incl %3 \n\t"
"cmpl %3, %2\n\t"
"jge start\n\t"
"cmpl $0, %6\n\t"
"je end\n\t"
"jmp loop\n\t"
"end: \n\t"
请帮助解释如何修复这些错误消息。 我正在尝试在 ASM 中进行冒泡排序。
【问题讨论】:
-
你为什么不重新格式化你的代码?
-
ppl 说不清楚,所以我试图清理它?
-
asm compile issue 的可能重复项