2011-11-28 104 views
-1
: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 

我得到這些錯誤消息不知道如何解決它,這是我的代碼ASM編譯問題

    "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 ,,當我編譯我得到上述錯誤消息我不太確定如何解決它...如果任何人可以解釋什麼是錯誤將有幫助..謝謝..對不起,如果格式是有點不整潔這是新的..

+2

你至少可以試着格式化你的問題。 –

+0

請花30秒來格式化您的代碼。 – Beginner

+1

爲什麼你列出c如果這是asm? – Hogan

回答

0

你錯誤地使用間接尋址。

錯誤地使用ax:dx對作爲帶位移的基指針。示例請參閱thisthis