2011-12-13 81 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" 版