2011-12-13 83 views
2

我碰到這個錯誤彙編錯誤:錯誤指令

/tmp/ccK86fyk.s: Assembler messages: 
/tmp/ccK86fyk.s:69: Error: bad instruction `sw $3,0(r3)' 
/tmp/ccK86fyk.s:70: Error: bad instruction `sw $7,4(r3)' 

(這個長碼其餘的是在本貼:http://pastebin.com/6YRx8rDh

的CPU是一個的ARM Cortex-A8在maemo fremantle建造的項目中。

這麼好,我的裝配知識很少,而且我一直在研究它並學習 多一點,但我似乎無法理解這個錯誤。 我也研究過谷歌幾天了,我找不到具體的 答案我的問題。

這是具有導致錯誤:http://pastebin.com/k3D4cg0d

行頭(提供了更多的信息上的評論,因爲我不能發佈超過2個鏈接)

+0

,這是它指的是.: http://pastebin.com/Ymg1X5dg 而且我不認爲這是一個gcc的配置問題,因爲根本沒有太多 C文件在那裏進行配置。我使用scratchbox海灣合作委員會,也: 這是gcc -v返回我:http://pastebin.com/tA70snzY 在此先感謝球員,希望我沒有留下任何信息,也希望我 我的功課做得很好,我在問之前儘可能多地研究過。 – Luis

+0

在問題中包含您的代碼/錯誤,以確保重要信息不會與問題分開消失。此外,請指出問題中的CPU /體系結構。 –

+0

謝謝亞歷克斯,我添加了一部分錯誤,但我不能粘貼所有的,否則我會佔用一個巨大的頁面,因爲錯誤有152行,代碼有31 + 39行...還添加了CPU和到我正在構建它的系統。希望你們明白我爲什麼要把它留在粘貼網站上。 – Luis

回答

0

SW和LW是操作碼MIPS體系結構(加載word和Store Word)。 您不能在Cortex A8中使用此彙編代碼。 PS:對不起,我以前說過這是Aarch64指令。我錯了......

+0

哼,正如我所說的,我有很少的組裝知識,我沒有32或64位編譯的任何定義。你的意思是我在編譯什麼文件?它是一個gba模擬器的bios文件,gpsp.I也更新了我的錯誤信息,這是我正在運行的arm aortex a8,我之前在另一個手臂上時我的腦海裏正在運行! – Luis

+0

哼哼OK ..我現在明白了...... LW和SW在ARM V7上不存在(並且不存在於aarch64 arm v8中(我犯了一個錯誤))。這是加載和存儲Word的MIPS指令。所以這個彙編代碼不能在Cortex A8平臺上編譯。我會改變我的帖子對不起。 – webshaker

+0

我認爲這段代碼已經翻譯過了,但它似乎仍然是來自PSP,並且psp使用了MIPS處理器......我怎樣才能讓ARM看起來更友好? – Luis

0

我在使用「arm-none-linux-gnueabi-gcc version 4.5.1」編譯內核時遇到了這個問題,並使用「arm-none-linux-gnueabi-gcc 4.8.3" 版