我只在谷歌上搜索了几个小时左右,但如果有人对此有一个快速的答案,我想回到编程。这是我的错误:
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
而不是预期的未定义指令错误,我得到了数据中止。奇怪的。]