2012-11-20 54 views
1

我只用谷歌搜索了幾個小時左右,但如果有人對此有一個快速的回答,我想回到編程。這是我的錯誤:LPC2103中的ARM7是否不支持CLZ?

[email protected]:~/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第2版的代碼,我使用的電路板。但他們顯然沒有任何代碼中的clz指令。我的問題是,應該它的工作,這只是我的彙編器沒有意識到,或者這個芯片真的不實現CLZ?

[更新:根據http://www.keil.com/dd/chip/3974.htm,ARM7TDMI-S是正確的體系結構規範]

[進一步更新:我已編碼指令與.word 0xe16f0f10手動和而不是預期的未定義指令錯誤我得到數據中止。奇怪。]

回答

3

CLZ指令是在ARMv5中引入的。 ARM7TDMI和ARM9沒有這個指令。

+0

好的謝謝。我錯誤的假設是ARM7意味着ARMv7。 –

+2

這是一個常見的混亂的來源,是的。 –

+1

ARM「系列」名稱和ARM「體系結構」版本號不直接相關:http://en.wikipedia.org/wiki/ARM_architecture#ARM_cores – Clifford