小编use*_*916的帖子

asm错误消息:`(%rax,%edx,4)'不是有效的基类/索引表达式

: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"
Run Code Online (Sandbox Code Playgroud)

请帮助解释如何修复这些错误消息.我试图在ASM中进行冒泡排序.

64-bit assembly gcc

0
推荐指数
2
解决办法
3138
查看次数

标签 统计

64-bit ×1

assembly ×1

gcc ×1