1

我只在谷歌上搜索了几个小时左右,但如果有人对此有一个快速的答案,我想回到编程。这是我的错误:

jcomeau@intrepid:~/rentacoder/jcomeau/armmite$ make
/usr/local/bin/preasm.tcl minimal.asm minimal.s 
"/usr/arm-linux-gnueabi/bin/as" -mcpu=arm7tdmi-s -mapcs-32 \
     -gstabs -ahls=minimal.lst  -o minimal.o minimal.s
minimal.s: Assembler messages:
minimal.s:183: Error: selected processor does not support `clz r0,r0'
make: *** [minimal.o] Error 1
rm minimal.s

我也尝试过使用 -mcpu=arm7tdmi,这是 Coridium 用于我正在使用的板子 ARMmite v.2 的代码的。但他们的代码中显然没有任何 clz 指令。我的问题是,它是否可以工作,只是我的汇编程序没有意识到它,或者这个芯片真的没有实现CLZ?

[更新:根据http://www.keil.com/dd/chip/3974.htm, arm7tdmi-s 是正确的架构规范]

[进一步更新:我手动编写了指令,.word 0xe16f0f10而不是预期的未定义指令错误,我得到了数据中止。奇怪的。]

4

1 回答 1

3

CLZ指令是在 ARMv5 中引入的。ARM7TDMI 和 ARM9 没有此指令。

于 2012-11-20T07:42:28.363 回答